List<RelatedDefinition<PropertyDefinitionData>> changedDefinitionData, Set<String> nodes,
PropertyDefinitionData[] allRecipientDefinition) throws RepositoryException
{
for (RelatedDefinition<PropertyDefinitionData> relatedDefinitions : changedDefinitionData)
{
PropertyDefinitionData ancestorDefinitionData = relatedDefinitions.getAncestorDefinition();
PropertyDefinitionData recipientDefinitionData = relatedDefinitions.getRecepientDefinition();
// change from mandatory=false to mandatory = true
if (!ancestorDefinitionData.isMandatory() && recipientDefinitionData.isMandatory())
{
checkMandatory(registeredNodeType, nodes, recipientDefinitionData);
}
// change from Protected=false to Protected = true
if (!ancestorDefinitionData.isProtected() && recipientDefinitionData.isProtected())
{
checkProtected(registeredNodeType, nodes, recipientDefinitionData);
}
// Required type change
if (ancestorDefinitionData.getRequiredType() != recipientDefinitionData.getRequiredType()
&& recipientDefinitionData.getRequiredType() != PropertyType.UNDEFINED)
{
checkRequiredType(registeredNodeType, recipientDefinitionData, allRecipientDefinition);
}
// ValueConstraints
if (!Arrays.deepEquals(ancestorDefinitionData.getValueConstraints(), recipientDefinitionData
.getValueConstraints()))
{
checkValueConstraints(registeredNodeType, recipientDefinitionData, allRecipientDefinition);
}
// multiple change
if (ancestorDefinitionData.isMultiple() && !recipientDefinitionData.isMultiple())
{
checkIsMultiple(registeredNodeType, recipientDefinitionData, allRecipientDefinition);
}
}