Doctrine\ODM\PHPCR\Mapping\ClassMetadata::validateReferenceable PHP Method

validateReferenceable() public method

The document needs to be either referenceable or full versionable. Simple versioning does not imply referenceable.
    public function validateReferenceable()
    {
        if ($this->uuidFieldName && !$this->referenceable && 'full' !== $this->versionable) {
            throw MappingException::notReferenceable($this->name, $this->uuidFieldName);
        }
    }

Usage Example

 /**
  * Validate runtime metadata is correctly defined.
  *
  * @param ClassMetadata $class
  * @param $parent
  * @throws MappingException
  */
 protected function validateRuntimeMetadata($class, $parent)
 {
     if (!$class->reflClass) {
         // only validate if there is a reflection class instance
         return;
     }
     $class->validateIdentifier();
     $class->validateReferenceable();
     $class->validateReferences();
     $class->validateChildClasses();
     $class->validateLifecycleCallbacks($this->getReflectionService());
     $class->validateTranslatables();
     // verify inheritance
     // TODO
 }
ClassMetadata