Dictionary optimisation: improve performance when getting sub classes and property defs

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6825 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2007-09-19 11:47:29 +00:00
parent 2127d7c56a
commit 7547b695ac
7 changed files with 189 additions and 56 deletions

View File

@@ -25,6 +25,7 @@
package org.alfresco.service.cmr.dictionary;
import java.util.Collection;
import java.util.Map;
import org.alfresco.service.NotAuditable;
import org.alfresco.service.PublicService;
@@ -94,6 +95,14 @@ public interface DictionaryService
@NotAuditable
Collection<QName> getAllTypes();
/**
* @param type
* @param follow true => follow up the super-class hierarchy, false => immediate sub types only
* @return the sub types of specified type
*/
@NotAuditable
Collection<QName> getSubTypes(QName type, boolean follow);
/**
* @param model the model to retrieve types for
* @return the names of all types defined within the specified model
@@ -125,6 +134,14 @@ public interface DictionaryService
@NotAuditable
Collection<QName> getAllAspects();
/**
* @param aspect
* @param follow true => follow up the super-class hierarchy, false => immediate sub aspects only
* @return the sub aspects of specified aspect
*/
@NotAuditable
Collection<QName> getSubAspects(QName aspect, boolean follow);
/**
* @param model the model to retrieve aspects for
* @return the names of all aspects defined within the specified model
@@ -168,6 +185,15 @@ public interface DictionaryService
*/
@NotAuditable
PropertyDefinition getProperty(QName className, QName propertyName);
/**
* Gets the definitions of the properties defined by the specified Class.
*
* @param className the class name
* @return the property definitions
*/
@NotAuditable
Map<QName,PropertyDefinition> getPropertyDefs(QName className);
/**
* Gets the definition of the property as defined by its owning Class.