private function generateXmlEntityDocBlock(ClassMetadataInfo $metadata)
{
$lines = array();
$lines[] = '/**';
$lines[] = ' * ' . $metadata->name;
if ($this->generateAnnotations) {
$lines[] = ' *';
if ($metadata->isMappedSuperclass) {
$lines[] = ' * @OXM\\XmlMappedSupperClass';
} else {
if ($metadata->isRoot) {
$lines[] = ' * @OXM\\XmlRootEntity';
} else {
$lines[] = ' * @OXM\\XmlEntity';
}
}
$xmlEntity = array();
if ($metadata->isRoot) {
if ($metadata->customRepositoryClassName) {
$xmlEntity[] = ' * repositoryClass="' . $metadata->customRepositoryClassName . '"';
}
}
if ($xmlEntity) {
$lines[count($lines) - 1] .= '(';
$lines[] = implode(",\n", $xmlEntity);
$lines[] = ' * )';
}
if (isset($metadata->lifecycleCallbacks) && $metadata->lifecycleCallbacks) {
$lines[] = ' * @OXM\\HasLifecycleCallbacks';
}
$methods = array('generateChangeTrackingPolicyAnnotation');
foreach ($methods as $method) {
if ($code = $this->{$method}($metadata)) {
$lines[] = ' * ' . $code;
}
}
}
$lines[] = ' */';
return implode("\n", $lines);
}