Class DictionaryComponent

java.lang.Object
org.alfresco.repo.dictionary.DictionaryComponent
All Implemented Interfaces:
TenantDeployer, DictionaryService, MessageLookup
Direct Known Subclasses:
FilteredDictionaryComponent

public class DictionaryComponent extends Object implements DictionaryService, TenantDeployer
Data Dictionary Service Implementation
Author:
David Caruana, sglover
  • Constructor Details

    • DictionaryComponent

      public DictionaryComponent()
  • Method Details

    • 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 Collection<QName> getAllModels()
      Specified by:
      getAllModels in interface DictionaryService
      Returns:
      the names of all models that have been registered with the Repository
    • getAllModels

      public Collection<QName> getAllModels(boolean includeInherited)
    • getModel

      public ModelDefinition getModel(QName model)
      Specified by:
      getModel in interface DictionaryService
      Parameters:
      model - the model name to retrieve
      Returns:
      the specified model (never null)
    • getAllDataTypes

      public Collection<QName> getAllDataTypes()
      Specified by:
      getAllDataTypes in interface DictionaryService
      Returns:
      the names of all data types that have been registered with the Repository
    • getDataTypes

      public Collection<QName> getDataTypes(QName model)
      Specified by:
      getDataTypes in interface DictionaryService
      Parameters:
      model - the model to retrieve data types for
      Returns:
      the names of all data types defined within the specified model
    • getAllTypes

      public Collection<QName> getAllTypes()
      Specified by:
      getAllTypes in interface DictionaryService
      Returns:
      the names of all types that have been registered with the Repository
    • getAllTypes

      public Collection<QName> getAllTypes(boolean includeInherited)
      Specified by:
      getAllTypes in interface DictionaryService
    • getSubTypes

      public 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 interface DictionaryService
      Parameters:
      superType - the qualified name of the type
      follow - 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 Collection<QName> getTypes(QName model)
      Specified by:
      getTypes in interface DictionaryService
      Parameters:
      model - the model to retrieve types for
      Returns:
      the names of all types defined within the specified model
    • getAllAspects

      public Collection<QName> getAllAspects()
      Specified by:
      getAllAspects in interface DictionaryService
      Returns:
      the names of all aspects that have been registered with the Repository
    • getAllAspects

      public Collection<QName> getAllAspects(boolean includeInherited)
      Specified by:
      getAllAspects in interface DictionaryService
    • getAllAssociations

      public Collection<QName> getAllAssociations()
      Description copied from interface: DictionaryService
      Get all the association definitions
      Specified by:
      getAllAssociations in interface DictionaryService
      Returns:
      all the association qnames
    • getAllAssociations

      public Collection<QName> getAllAssociations(boolean includeInherited)
      Specified by:
      getAllAssociations in interface DictionaryService
    • getSubAspects

      public Collection<QName> getSubAspects(QName superAspect, boolean follow)
      Specified by:
      getSubAspects in interface DictionaryService
      Parameters:
      superAspect - QName
      follow - true => follow up the super-class hierarchy, false => immediate sub aspects only
      Returns:
      the sub aspects of specified aspect
    • getAspects

      public Collection<QName> getAspects(QName model)
      Specified by:
      getAspects in interface DictionaryService
      Parameters:
      model - the model to retrieve aspects for
      Returns:
      the names of all aspects defined within the specified model
    • getAssociations

      public Collection<QName> getAssociations(QName model)
      Specified by:
      getAssociations in interface DictionaryService
      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 interface DictionaryService
      Parameters:
      className - the sub-class to test
      ofClassName - 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 interface DictionaryService
      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(Class<?> javaClass)
      Specified by:
      getDataType in interface DictionaryService
      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 interface DictionaryService
      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 interface DictionaryService
      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 interface DictionaryService
      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, 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 interface DictionaryService
      Parameters:
      type - the type to start with
      aspects - the aspects to combine with the type
      Returns:
      the anonymous type definition
    • getAnonymousType

      public TypeDefinition getAnonymousType(QName name)
      Creates an anonymous TypeDefinition with all the mandatory Aspects applied. This collapses all mandatory Aspects into a single TypeDefinition.
      Specified by:
      getAnonymousType in interface DictionaryService
      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 interface DictionaryService
      Parameters:
      className - the class name
      propertyName - the property name
      Returns:
      the property definition (or null, if it doesn't exist)
    • getPropertyDefs

      public 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 interface DictionaryService
      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 interface DictionaryService
      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 interface DictionaryService
      Parameters:
      associationName - the property name
      Returns:
      the association definition (or null, if it doesn't exist)
    • getAllProperties

      public 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 interface DictionaryService
      Parameters:
      dataType - QName
    • getProperties

      public 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 interface DictionaryService
      Parameters:
      model - QName
      dataType - QName
    • getProperties

      public Collection<QName> getProperties(QName model)
      Description copied from interface: DictionaryService
      Get all properties for the specified model
      Specified by:
      getProperties in interface DictionaryService
      Parameters:
      model - QName
    • getConstraint

      public ConstraintDefinition getConstraint(QName constraintQName)
      Description copied from interface: DictionaryService
      Gets the definition of the constraint
      Specified by:
      getConstraint in interface DictionaryService
      Parameters:
      constraintQName - the constraint name
      Returns:
      the constraint definition (or null, if it doesn't exist)
    • getConstraints

      public Collection<ConstraintDefinition> getConstraints(QName model)
      Description copied from interface: DictionaryService
      Get constraints for the specified model
      Specified by:
      getConstraints in interface DictionaryService
      Parameters:
      model - QName
    • getConstraints

      public 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 interface DictionaryService
      Parameters:
      model - QName
      referenceableDefsOnly - boolean
    • init

      public void init()
      Specified by:
      init in interface TenantDeployer
    • destroy

      public void destroy()
      Specified by:
      destroy in interface TenantDeployer
    • onEnableTenant

      public void onEnableTenant()
      Specified by:
      onEnableTenant in interface TenantDeployer
    • onDisableTenant

      public void onDisableTenant()
      Specified by:
      onDisableTenant in interface TenantDeployer
    • getMessage

      public String getMessage(String messageKey)
      Description copied from interface: MessageLookup
      Get message from registered resource bundle.
      Specified by:
      getMessage in interface MessageLookup
      Parameters:
      messageKey - message key
      Returns:
      localised message string, null if not found
    • getMessage

      public String getMessage(String messageKey, Locale locale)
      Description copied from interface: MessageLookup
      Get a localised message string
      Specified by:
      getMessage in interface MessageLookup
      Parameters:
      messageKey - the message key
      locale - override the current locale
      Returns:
      the localised message string, null if not found
    • getMessage

      public String getMessage(String messageKey, Object... params)
      Description copied from interface: MessageLookup
      Get a localised message string, parameterized using standard MessageFormatter.
      Specified by:
      getMessage in interface MessageLookup
      Parameters:
      messageKey - message key
      params - format parameters
      Returns:
      the localised string, null if not found
    • getMessage

      public String getMessage(String messageKey, Locale locale, Object... params)
      Description copied from interface: MessageLookup
      Get a localised message string, parameterized using standard MessageFormatter.
      Specified by:
      getMessage in interface MessageLookup
      Parameters:
      messageKey - the message key
      locale - override current locale
      params - the localised message string
      Returns:
      the localised string, null if not found
    • getModelByNamespaceUri

      public ModelDefinition getModelByNamespaceUri(String uri)
      Specified by:
      getModelByNamespaceUri in interface DictionaryService
      Parameters:
      uri - the namespace uri for search for
      Returns:
      the named model definition