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;
 }