public function loadMetadataForClass(\ReflectionClass $class) { $classMetadata = new ClassMetadata($class->getName()); foreach ($class->getProperties() as $reflectionProperty) { foreach ($this->reader->getPropertyAnnotations($reflectionProperty) as $fieldAnnot) { $propertyMetadata = new PropertyMetadata($class->getName(), $reflectionProperty->getName()); if ($fieldAnnot instanceof BRIDGE\Entity) { /** * @var BRIDGE\Entity $fieldAnnot */ $propertyMetadata->targetObject = $fieldAnnot->targetEntity; $propertyMetadata->targetManager = $fieldAnnot->entityManager; $propertyMetadata->type = 'dbal'; $classMetadata->addPropertyMetadata($propertyMetadata); } if ($fieldAnnot instanceof BRIDGE\Document) { /** * @var BRIDGE\Document $fieldAnnot */ $propertyMetadata->targetObject = $fieldAnnot->targetDocument; $propertyMetadata->targetManager = $fieldAnnot->documentManager; $propertyMetadata->type = 'odm'; $classMetadata->addPropertyMetadata($propertyMetadata); } } } return $classMetadata; }
protected function getClassMetadata() { $classMetadata = new ClassMetadata('Indigo\\Fieldset\\Stubs\\Entity'); $propertMetadata = new PropertyMetadata('Indigo\\Fieldset\\Stubs\\Entity', 'prop'); $classMetadata->addPropertyMetadata($propertMetadata); return $classMetadata; }
/** * {@inheritdoc} */ public function loadMetadataForClass(\ReflectionClass $class) { $classMetadata = new ClassMetadata($name = $class->name); foreach ($class->getProperties() as $property) { if ($property->class !== $name) { continue; } if ($filters = $this->readPropertyFilters($property)) { $propertyMetadata = new PropertyMetadata($name, $property->getName()); $propertyMetadata->setFilters($filters); $classMetadata->addPropertyMetadata($propertyMetadata); } } return $classMetadata; }
public function loadMetadataForClass(\ReflectionClass $class) { $classMetadata = new ClassMetadata($name = $class->name); $classMetadata->fileResources[] = $class->getFilename(); $propertiesMetadata = array(); $propertiesAnnotations = array(); foreach ($class->getProperties() as $property) { if ($property->class !== $name) { continue; } $propertiesMetadata[] = new PropertyMetadata($name, $property->getName()); $propertiesAnnotations[] = $this->reader->getPropertyAnnotations($property); } foreach ($propertiesMetadata as $propertyKey => $propertyMetadata) { $propertyAnnotations = $propertiesAnnotations[$propertyKey]; foreach ($propertyAnnotations as $annot) { if ($annot instanceof ExcludeIf) { $propertyMetadata->exclusionExpression = $annot->expression; } } $classMetadata->addPropertyMetadata($propertyMetadata); } return $classMetadata; }