Files
alfresco-community-repo/source/java/org/alfresco/repo/dictionary/ModelValidator.java
Alan Davis 62d972f622 Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
108044: Merged 5.0.N (5.0.3) to HEAD-BUG-FIX (5.1/Cloud)
      107731: Merged 5.0.2 (5.0.2) to 5.0.N (5.0.3)
         107679: MNT-13820 "Model can be deactivated with a node referencing the model is in trashcan"
         Use the database to check if model is in use, rather than Search
         Fix up existing tests in light of these changes


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108075 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-09 22:12:29 +00:00

37 lines
1.1 KiB
Java

package org.alfresco.repo.dictionary;
import org.alfresco.service.namespace.QName;
/**
* Validates model changes and deletes against the repository.
*
* @author sglover
*
*/
public interface ModelValidator
{
/**
* validate against dictionary
*
* if new model
* then nothing to validate
*
* else if an existing model
* then could be updated (or unchanged) so validate to currently only allow incremental updates
* - addition of new types, aspects (except default aspects), properties, associations
* - no deletion of types, aspects or properties or associations
* - no addition, update or deletion of default/mandatory aspects
*
* @throws ModelInUseException if the model is being used by nodes or properties
*/
void validateModel(CompiledModel compiledModel);
/**
* Can the model be deleted (validate against repository contents / workflows)?
*
* @return true only if the model is not being used or if the model does not
* exist
*/
boolean canDeleteModel(QName modelName);
}