Class ModelImpl

java.lang.Object
org.camunda.bpm.model.xml.impl.ModelImpl
All Implemented Interfaces:
Model

public class ModelImpl extends Object implements Model
A model contains all defined types and the relationship between them.
Author:
Daniel Meyer
  • Field Details

    • actualNsToAlternative

      protected final Map<String,Set<String>> actualNsToAlternative
    • alternativeNsToActual

      protected final Map<String,String> alternativeNsToActual
  • Constructor Details

    • ModelImpl

      public ModelImpl(String modelName)
      Create a new Model with a model name.
      Parameters:
      modelName - the model name to identify the model
  • Method Details

    • declareAlternativeNamespace

      public void declareAlternativeNamespace(String alternativeNs, String actualNs)
      Declares an alternative namespace for an actual so that during lookup of elements/attributes both will be considered. This can be used if a newer namespaces replaces an older one but XML files with the old one should still be parseable.
      Parameters:
      alternativeNs -
      actualNs -
      Throws:
      IllegalArgumentException - if the alternative is already used or if the actual namespace has an alternative
    • undeclareAlternativeNamespace

      public void undeclareAlternativeNamespace(String alternativeNs)
    • getAlternativeNamespaces

      public Set<String> getAlternativeNamespaces(String actualNs)
      Specified by:
      getAlternativeNamespaces in interface Model
    • getAlternativeNamespace

      public String getAlternativeNamespace(String actualNs)
      Description copied from interface: Model
      Returns the alternative namespace URI for a namespace URI
      Specified by:
      getAlternativeNamespace in interface Model
      Parameters:
      actualNs - the actual namespace URI
      Returns:
      the alternative namespace URI or null if none is set
    • getActualNamespace

      public String getActualNamespace(String alternativeNs)
      Description copied from interface: Model
      Returns the actual namespace URI for an alternative namespace URI
      Specified by:
      getActualNamespace in interface Model
      Parameters:
      alternativeNs - the alternative namespace URI
      Returns:
      the actual namespace URI or null if none is set
    • getTypes

      public Collection<ModelElementType> getTypes()
      Description copied from interface: Model
      Gets the collection of all ModelElementType defined in the model.
      Specified by:
      getTypes in interface Model
      Returns:
      the list of all defined element types of this model
    • getType

      public ModelElementType getType(Class<? extends ModelElementInstance> instanceClass)
      Description copied from interface: Model
      Gets the defined ModelElementType of a ModelElementInstance.
      Specified by:
      getType in interface Model
      Parameters:
      instanceClass - the instance class to find the type for
      Returns:
      the corresponding element type or null if no type is defined for the instance
    • getTypeForName

      public ModelElementType getTypeForName(String typeName)
      Description copied from interface: Model
      Gets the defined ModelElementType for a type by its name.
      Specified by:
      getTypeForName in interface Model
      Parameters:
      typeName - the name of the type
      Returns:
      the element type or null if no type is defined for the name
    • getTypeForName

      public ModelElementType getTypeForName(String namespaceUri, String typeName)
      Description copied from interface: Model
      Gets the defined ModelElementType for a type by its name and namespace URI.
      Specified by:
      getTypeForName in interface Model
      Parameters:
      namespaceUri - the namespace URI for the type
      typeName - the name of the type
      Returns:
      the element type or null if no type is defined for the name and namespace URI
    • registerType

      public void registerType(ModelElementType modelElementType, Class<? extends ModelElementInstance> instanceType)
      Registers a ModelElementType in this Model.
      Parameters:
      modelElementType - the element type to register
      instanceType - the instance class of the type to register
    • getModelName

      public String getModelName()
      Description copied from interface: Model
      Returns the model name, which is the identifier of this model.
      Specified by:
      getModelName in interface Model
      Returns:
      the model name
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object