mirror of
				https://github.com/Alfresco/alfresco-community-repo.git
				synced 2025-10-29 15:21:53 +00:00 
			
		
		
		
	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
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			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);
 | |
| }
 |