Class 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 Detail

      • alternativeNsToActual

        protected final Map<String,​String> alternativeNsToActual
    • Constructor Detail

      • ModelImpl

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

      • 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)
      • 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
      • 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
      • 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