private function isAutocreatedProperty(ClassMetadata $class, $fieldName)
{
$field = $class->getFieldMapping($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;
}