getMixins() public method

Return the JCR mixins to be used for this node.
public getMixins ( ) : array
return array
Example #1
0
 /**
  * Identify whether a PHPCR property is autocreated or not.
  *
  * @param ClassMetadata $class
  * @param string        $fieldName
  *
  * @return boolean
  */
 private function isAutocreatedProperty(ClassMetadata $class, $fieldName)
 {
     $field = $class->getField($fieldName);
     if ('jcr:uuid' === $field['property']) {
         // jackrabbit at least does not identify this as auto created
         // it is strictly speaking no property
         return true;
     }
     $ntm = $this->session->getWorkspace()->getNodeTypeManager();
     $nodeType = $ntm->getNodeType($class->getNodeType());
     $propertyDefinitions = $nodeType->getPropertyDefinitions();
     foreach ($class->getMixins() as $mixinTypeName) {
         $nodeType = $ntm->getNodeType($mixinTypeName);
         $propertyDefinitions = array_merge($propertyDefinitions, $nodeType->getPropertyDefinitions());
     }
     foreach ($propertyDefinitions as $property) {
         if ($class->mappings[$fieldName]['property'] === $property->getName() && $property->isAutoCreated()) {
             return true;
         }
     }
     return false;
 }
 /**
  * Set the document level options of the parent class to the subclass.
  *
  * @param ClassMetadata $subClass
  * @param ClassMetadata $parentClass
  */
 private function addInheritedDocumentOptions(ClassMetadata $subClass, ClassMetadata $parentClass)
 {
     $subClass->setCustomRepositoryClassName($parentClass->customRepositoryClassName);
     $subClass->setTranslator($parentClass->translator);
     $subClass->setVersioned($parentClass->versionable);
     $subClass->setReferenceable($parentClass->referenceable);
     $subClass->setNodeType($parentClass->getNodeType());
     $subClass->setMixins($parentClass->getMixins());
 }