Doctrine\ODM\OrientDB\Mapper\ClassMetadataFactory::populateMetadata PHP Method

populateMetadata() protected method

protected populateMetadata ( ClassMetadata $metadata )
$metadata ClassMetadata
    protected function populateMetadata(ClassMetadata $metadata)
    {
        $associations = array();
        $fields = array();
        $foundIdentifier = false;
        foreach ($metadata->getReflectionClass()->getProperties() as $refProperty) {
            $annotation = $this->getPropertyAnnotation($refProperty);
            if ($annotation) {
                if ('@rid' === $annotation->name) {
                    $foundIdentifier = true;
                    $metadata->setIdentifier($refProperty->getName());
                    $fields[$refProperty->getName()] = $annotation;
                } elseif (in_array($annotation->type, $this->getAssociationTypes())) {
                    $associations[$refProperty->getName()] = $annotation;
                } else {
                    $fields[$refProperty->getName()] = $annotation;
                }
            }
        }
        if (!$foundIdentifier) {
            throw MappingException::missingRid($metadata->getName());
        }
        $metadata->setFields($fields);
        $metadata->setAssociations($associations);
        return $associations;
    }