Package org.alfresco.repo.dictionary
Class DictionaryComponent
- java.lang.Object
-
- org.alfresco.repo.dictionary.DictionaryComponent
-
- All Implemented Interfaces:
TenantDeployer
,DictionaryService
,MessageLookup
- Direct Known Subclasses:
FilteredDictionaryComponent
public class DictionaryComponent extends java.lang.Object implements DictionaryService, TenantDeployer
Data Dictionary Service Implementation- Author:
- David Caruana, sglover
-
-
Constructor Summary
Constructors Constructor Description DictionaryComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
java.util.Collection<QName>
getAllAspects()
java.util.Collection<QName>
getAllAspects(boolean includeInherited)
java.util.Collection<QName>
getAllAssociations()
Get all the association definitionsjava.util.Collection<QName>
getAllAssociations(boolean includeInherited)
java.util.Collection<QName>
getAllDataTypes()
java.util.Collection<QName>
getAllModels()
java.util.Collection<QName>
getAllModels(boolean includeInherited)
java.util.Collection<QName>
getAllProperties(QName dataType)
Get all properties defined across all models with the given data type.java.util.Collection<QName>
getAllTypes()
java.util.Collection<QName>
getAllTypes(boolean includeInherited)
TypeDefinition
getAnonymousType(QName name)
Creates an anonymousTypeDefinition
with all the mandatoryAspects
applied.TypeDefinition
getAnonymousType(QName type, java.util.Collection<QName> aspects)
Construct an anonymous type that combines the definitions of the specified type and aspects.AspectDefinition
getAspect(QName name)
java.util.Collection<QName>
getAspects(QName model)
AssociationDefinition
getAssociation(QName associationName)
Gets the definition of the association as defined by its owning Class.java.util.Collection<QName>
getAssociations(QName model)
ClassDefinition
getClass(QName name)
ConstraintDefinition
getConstraint(QName constraintQName)
Gets the definition of the constraintjava.util.Collection<ConstraintDefinition>
getConstraints(QName model)
Get constraints for the specified modeljava.util.Collection<ConstraintDefinition>
getConstraints(QName model, boolean referenceableDefsOnly)
Get constraints for the specified model Optionally return referenceable (ie.DataTypeDefinition
getDataType(java.lang.Class<?> javaClass)
DataTypeDefinition
getDataType(QName name)
java.util.Collection<QName>
getDataTypes(QName model)
java.lang.String
getMessage(java.lang.String messageKey)
Get message from registered resource bundle.java.lang.String
getMessage(java.lang.String messageKey, java.lang.Object... params)
Get a localised message string, parameterized using standard MessageFormatter.java.lang.String
getMessage(java.lang.String messageKey, java.util.Locale locale)
Get a localised message stringjava.lang.String
getMessage(java.lang.String messageKey, java.util.Locale locale, java.lang.Object... params)
Get a localised message string, parameterized using standard MessageFormatter.ModelDefinition
getModel(QName model)
ModelDefinition
getModelByNamespaceUri(java.lang.String uri)
java.util.Collection<QName>
getProperties(QName model)
Get all properties for the specified modeljava.util.Collection<QName>
getProperties(QName model, QName dataType)
Get all properties defined for the given model with the given data type.PropertyDefinition
getProperty(QName propertyName)
Gets the definition of the property as defined by its owning Class.PropertyDefinition
getProperty(QName className, QName propertyName)
Gets the definition of the property as defined by the specified Class.java.util.Map<QName,PropertyDefinition>
getPropertyDefs(QName className)
Gets the definitions of the properties defined by the specified Class.java.util.Collection<QName>
getSubAspects(QName superAspect, boolean follow)
java.util.Collection<QName>
getSubTypes(QName superType, boolean follow)
Get the sub types of the type.TypeDefinition
getType(QName name)
java.util.Collection<QName>
getTypes(QName model)
void
init()
boolean
isSubClass(QName className, QName ofClassName)
Determines whether a class is a sub-class of another classvoid
onDisableTenant()
void
onEnableTenant()
void
setDictionaryDAO(DictionaryDAO dictionaryDAO)
Sets the Meta Model DAOvoid
setMessageLookup(MessageLookup messageLookup)
Sets the message lookup service
-
-
-
Method Detail
-
setDictionaryDAO
public void setDictionaryDAO(DictionaryDAO dictionaryDAO)
Sets the Meta Model DAO- Parameters:
dictionaryDAO
- dictionary DAO
-
setMessageLookup
public void setMessageLookup(MessageLookup messageLookup)
Sets the message lookup service- Parameters:
messageLookup
- the message lookup service
-
getAllModels
public java.util.Collection<QName> getAllModels()
- Specified by:
getAllModels
in interfaceDictionaryService
- Returns:
- the names of all models that have been registered with the Repository
-
getAllModels
public java.util.Collection<QName> getAllModels(boolean includeInherited)
-
getModel
public ModelDefinition getModel(QName model)
- Specified by:
getModel
in interfaceDictionaryService
- Parameters:
model
- the model name to retrieve- Returns:
- the specified model (never null)
-
getAllDataTypes
public java.util.Collection<QName> getAllDataTypes()
- Specified by:
getAllDataTypes
in interfaceDictionaryService
- Returns:
- the names of all data types that have been registered with the Repository
-
getDataTypes
public java.util.Collection<QName> getDataTypes(QName model)
- Specified by:
getDataTypes
in interfaceDictionaryService
- Parameters:
model
- the model to retrieve data types for- Returns:
- the names of all data types defined within the specified model
-
getAllTypes
public java.util.Collection<QName> getAllTypes()
- Specified by:
getAllTypes
in interfaceDictionaryService
- Returns:
- the names of all types that have been registered with the Repository
-
getAllTypes
public java.util.Collection<QName> getAllTypes(boolean includeInherited)
- Specified by:
getAllTypes
in interfaceDictionaryService
-
getSubTypes
public java.util.Collection<QName> getSubTypes(QName superType, boolean follow)
Description copied from interface:DictionaryService
Get the sub types of the type. The returned list includes the base type which is passed in as a parameter.- Specified by:
getSubTypes
in interfaceDictionaryService
- Parameters:
superType
- the qualified name of the typefollow
- true => all sub-type descendants, false => immediate sub-type children- Returns:
- the names of the sub types of the specified type, including the value passed in.
-
getTypes
public java.util.Collection<QName> getTypes(QName model)
- Specified by:
getTypes
in interfaceDictionaryService
- Parameters:
model
- the model to retrieve types for- Returns:
- the names of all types defined within the specified model
-
getAllAspects
public java.util.Collection<QName> getAllAspects()
- Specified by:
getAllAspects
in interfaceDictionaryService
- Returns:
- the names of all aspects that have been registered with the Repository
-
getAllAspects
public java.util.Collection<QName> getAllAspects(boolean includeInherited)
- Specified by:
getAllAspects
in interfaceDictionaryService
-
getAllAssociations
public java.util.Collection<QName> getAllAssociations()
Description copied from interface:DictionaryService
Get all the association definitions- Specified by:
getAllAssociations
in interfaceDictionaryService
- Returns:
- all the association qnames
-
getAllAssociations
public java.util.Collection<QName> getAllAssociations(boolean includeInherited)
- Specified by:
getAllAssociations
in interfaceDictionaryService
-
getSubAspects
public java.util.Collection<QName> getSubAspects(QName superAspect, boolean follow)
- Specified by:
getSubAspects
in interfaceDictionaryService
- Parameters:
superAspect
- QNamefollow
- true => follow up the super-class hierarchy, false => immediate sub aspects only- Returns:
- the sub aspects of specified aspect
-
getAspects
public java.util.Collection<QName> getAspects(QName model)
- Specified by:
getAspects
in interfaceDictionaryService
- Parameters:
model
- the model to retrieve aspects for- Returns:
- the names of all aspects defined within the specified model
-
getAssociations
public java.util.Collection<QName> getAssociations(QName model)
- Specified by:
getAssociations
in interfaceDictionaryService
- Parameters:
model
- the model to retrieve associations for- Returns:
- the names of all associations defined within the specified model
-
isSubClass
public boolean isSubClass(QName className, QName ofClassName)
Description copied from interface:DictionaryService
Determines whether a class is a sub-class of another class- Specified by:
isSubClass
in interfaceDictionaryService
- Parameters:
className
- the sub-class to testofClassName
- the class to test against- Returns:
- true => the class is a sub-class (or itself)
-
getDataType
public DataTypeDefinition getDataType(QName name)
- Specified by:
getDataType
in interfaceDictionaryService
- Parameters:
name
- the name of the data type to retrieve- Returns:
- the data type definition (or null, if it doesn't exist)
-
getDataType
public DataTypeDefinition getDataType(java.lang.Class<?> javaClass)
- Specified by:
getDataType
in interfaceDictionaryService
- Parameters:
javaClass
- java class to find datatype for- Returns:
- the data type definition (or null, if a mapping does not exist)
-
getType
public TypeDefinition getType(QName name)
- Specified by:
getType
in interfaceDictionaryService
- Parameters:
name
- the name of the type to retrieve- Returns:
- the type definition (or null, if it doesn't exist)
-
getAspect
public AspectDefinition getAspect(QName name)
- Specified by:
getAspect
in interfaceDictionaryService
- Parameters:
name
- the name of the aspect to retrieve- Returns:
- the aspect definition (or null, if it doesn't exist)
-
getClass
public ClassDefinition getClass(QName name)
- Specified by:
getClass
in interfaceDictionaryService
- Parameters:
name
- the name of the class (type or aspect) to retrieve- Returns:
- the class definition (or null, if it doesn't exist)
-
getAnonymousType
public TypeDefinition getAnonymousType(QName type, java.util.Collection<QName> aspects)
Description copied from interface:DictionaryService
Construct an anonymous type that combines the definitions of the specified type and aspects.- Specified by:
getAnonymousType
in interfaceDictionaryService
- Parameters:
type
- the type to start withaspects
- the aspects to combine with the type- Returns:
- the anonymous type definition
-
getAnonymousType
public TypeDefinition getAnonymousType(QName name)
Creates an anonymousTypeDefinition
with all the mandatoryAspects
applied. This collapses all mandatoryAspects
into a singleTypeDefinition
.- Specified by:
getAnonymousType
in interfaceDictionaryService
- Parameters:
name
- the name of the type definition.- Returns:
- the anonymous type definition
-
getProperty
public PropertyDefinition getProperty(QName className, QName propertyName)
Description copied from interface:DictionaryService
Gets the definition of the property as defined by the specified Class. Note: A sub-class may override the definition of a property that's defined in a super-class.- Specified by:
getProperty
in interfaceDictionaryService
- Parameters:
className
- the class namepropertyName
- the property name- Returns:
- the property definition (or null, if it doesn't exist)
-
getPropertyDefs
public java.util.Map<QName,PropertyDefinition> getPropertyDefs(QName className)
Description copied from interface:DictionaryService
Gets the definitions of the properties defined by the specified Class.- Specified by:
getPropertyDefs
in interfaceDictionaryService
- Parameters:
className
- the class name- Returns:
- the property definitions
-
getProperty
public PropertyDefinition getProperty(QName propertyName)
Description copied from interface:DictionaryService
Gets the definition of the property as defined by its owning Class.- Specified by:
getProperty
in interfaceDictionaryService
- Parameters:
propertyName
- the property name- Returns:
- the property definition (or null, if it doesn't exist)
-
getAssociation
public AssociationDefinition getAssociation(QName associationName)
Description copied from interface:DictionaryService
Gets the definition of the association as defined by its owning Class.- Specified by:
getAssociation
in interfaceDictionaryService
- Parameters:
associationName
- the property name- Returns:
- the association definition (or null, if it doesn't exist)
-
getAllProperties
public java.util.Collection<QName> getAllProperties(QName dataType)
Description copied from interface:DictionaryService
Get all properties defined across all models with the given data type. Note that DataTypeDefinition.ANY will only match this type and can not be used as get all properties. If dataType is null then this method will return *ALL* properties regardless of data type.- Specified by:
getAllProperties
in interfaceDictionaryService
- Parameters:
dataType
- QName
-
getProperties
public java.util.Collection<QName> getProperties(QName model, QName dataType)
Description copied from interface:DictionaryService
Get all properties defined for the given model with the given data type. Note that DataTypeDefinition.ANY will only match this type and can not be used as get all properties. If dataType is null then this method will return *ALL* properties regardless of data type.- Specified by:
getProperties
in interfaceDictionaryService
- Parameters:
model
- QNamedataType
- QName
-
getProperties
public java.util.Collection<QName> getProperties(QName model)
Description copied from interface:DictionaryService
Get all properties for the specified model- Specified by:
getProperties
in interfaceDictionaryService
- Parameters:
model
- QName
-
getConstraint
public ConstraintDefinition getConstraint(QName constraintQName)
Description copied from interface:DictionaryService
Gets the definition of the constraint- Specified by:
getConstraint
in interfaceDictionaryService
- Parameters:
constraintQName
- the constraint name- Returns:
- the constraint definition (or null, if it doesn't exist)
-
getConstraints
public java.util.Collection<ConstraintDefinition> getConstraints(QName model)
Description copied from interface:DictionaryService
Get constraints for the specified model- Specified by:
getConstraints
in interfaceDictionaryService
- Parameters:
model
- QName
-
getConstraints
public java.util.Collection<ConstraintDefinition> getConstraints(QName model, boolean referenceableDefsOnly)
Description copied from interface:DictionaryService
Get constraints for the specified model Optionally return referenceable (ie. non-property specific) constraints only- Specified by:
getConstraints
in interfaceDictionaryService
- Parameters:
model
- QNamereferenceableDefsOnly
- boolean
-
init
public void init()
- Specified by:
init
in interfaceTenantDeployer
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceTenantDeployer
-
onEnableTenant
public void onEnableTenant()
- Specified by:
onEnableTenant
in interfaceTenantDeployer
-
onDisableTenant
public void onDisableTenant()
- Specified by:
onDisableTenant
in interfaceTenantDeployer
-
getMessage
public java.lang.String getMessage(java.lang.String messageKey)
Description copied from interface:MessageLookup
Get message from registered resource bundle.- Specified by:
getMessage
in interfaceMessageLookup
- Parameters:
messageKey
- message key- Returns:
- localised message string, null if not found
-
getMessage
public java.lang.String getMessage(java.lang.String messageKey, java.util.Locale locale)
Description copied from interface:MessageLookup
Get a localised message string- Specified by:
getMessage
in interfaceMessageLookup
- Parameters:
messageKey
- the message keylocale
- override the current locale- Returns:
- the localised message string, null if not found
-
getMessage
public java.lang.String getMessage(java.lang.String messageKey, java.lang.Object... params)
Description copied from interface:MessageLookup
Get a localised message string, parameterized using standard MessageFormatter.- Specified by:
getMessage
in interfaceMessageLookup
- Parameters:
messageKey
- message keyparams
- format parameters- Returns:
- the localised string, null if not found
-
getMessage
public java.lang.String getMessage(java.lang.String messageKey, java.util.Locale locale, java.lang.Object... params)
Description copied from interface:MessageLookup
Get a localised message string, parameterized using standard MessageFormatter.- Specified by:
getMessage
in interfaceMessageLookup
- Parameters:
messageKey
- the message keylocale
- override current localeparams
- the localised message string- Returns:
- the localised string, null if not found
-
getModelByNamespaceUri
public ModelDefinition getModelByNamespaceUri(java.lang.String uri)
- Specified by:
getModelByNamespaceUri
in interfaceDictionaryService
- Parameters:
uri
- the namespace uri for search for- Returns:
- the named model definition
-
-