Class ModelInstanceImpl

java.lang.Object
org.operaton.bpm.model.xml.impl.ModelInstanceImpl
All Implemented Interfaces:
ModelInstance
Direct Known Subclasses:
BpmnModelInstanceImpl, CmmnModelInstanceImpl, DmnModelInstanceImpl

public class ModelInstanceImpl extends Object implements ModelInstance
An instance of a model
Author:
Daniel Meyer, Sebastian Menski
  • Field Details

  • Constructor Details

  • Method Details

    • getDocument

      public DomDocument getDocument()
      Description copied from interface: ModelInstance
      Returns the wrapped DomDocument.
      Specified by:
      getDocument in interface ModelInstance
      Returns:
      the DOM document
    • getDocumentElement

      public ModelElementInstance getDocumentElement()
      Description copied from interface: ModelInstance
      Returns the ModelElement corresponding to the document element of this model or null if no document element exists.
      Specified by:
      getDocumentElement in interface ModelInstance
      Returns:
      the document element or null
    • setDocumentElement

      public void setDocumentElement(ModelElementInstance modelElement)
      Description copied from interface: ModelInstance
      Updates the document element.
      Specified by:
      setDocumentElement in interface ModelInstance
      Parameters:
      modelElement - the new document element to set
    • newInstance

      public <T extends ModelElementInstance> T newInstance(Class<T> type)
      Description copied from interface: ModelInstance
      Creates a new instance of type class.
      Specified by:
      newInstance in interface ModelInstance
      Type Parameters:
      T - instance type
      Parameters:
      type - the class of the type to create
      Returns:
      the new created instance
    • newInstance

      public <T extends ModelElementInstance> T newInstance(Class<T> type, String id)
      Description copied from interface: ModelInstance
      Creates a new instance of type class with user-defined id.
      Specified by:
      newInstance in interface ModelInstance
      Type Parameters:
      T - instance type
      Parameters:
      type - the class of the type to create
      id - identifier of new element instance
      Returns:
      the new created instance
    • newInstance

      public <T extends ModelElementInstance> T newInstance(ModelElementType type)
      Description copied from interface: ModelInstance
      Creates a new instance of type.
      Specified by:
      newInstance in interface ModelInstance
      Type Parameters:
      T - instance type
      Parameters:
      type - the type to create
      Returns:
      the new created instance
    • newInstance

      public <T extends ModelElementInstance> T newInstance(ModelElementType type, String id)
      Description copied from interface: ModelInstance
      Creates a new instance of type with user-defined id.
      Specified by:
      newInstance in interface ModelInstance
      Type Parameters:
      T - instance type
      Parameters:
      type - the type to create
      id - identifier of new element instance
      Returns:
      the new created instance
    • getModel

      public Model getModel()
      Description copied from interface: ModelInstance
      Returns the underlying model.
      Specified by:
      getModel in interface ModelInstance
      Returns:
      the model
    • registerGenericType

      public ModelElementType registerGenericType(String namespaceUri, String localName)
    • getModelElementById

      public <T extends ModelElementInstance> T getModelElementById(String id)
      Description copied from interface: ModelInstance
      Find a unique element of the model by id.
      Specified by:
      getModelElementById in interface ModelInstance
      Parameters:
      id - the id of the element
      Returns:
      the element with the id or null
    • getModelElementsByType

      public Collection<ModelElementInstance> getModelElementsByType(ModelElementType type)
      Description copied from interface: ModelInstance
      Find all elements of a type.
      Specified by:
      getModelElementsByType in interface ModelInstance
      Parameters:
      type - the type of the elements
      Returns:
      the collection of elements of the type
    • getModelElementsByType

      public <T extends ModelElementInstance> Collection<T> getModelElementsByType(Class<T> referencingClass)
      Description copied from interface: ModelInstance
      Find all elements of a type.
      Specified by:
      getModelElementsByType in interface ModelInstance
      Parameters:
      referencingClass - the type class of the elements
      Returns:
      the collection of elements of the type
    • clone

      public ModelInstance clone()
      Description copied from interface: ModelInstance
      Copies the model instance but not the model. So only the wrapped DOM document is cloned. Changes of the model are persistent between multiple model instances.
      Specified by:
      clone in interface ModelInstance
      Overrides:
      clone in class Object
      Returns:
      the new model instance
    • copy

      public ModelInstance copy()
      Description copied from interface: ModelInstance
      Copies the model instance but not the model. So only the wrapped DOM document is cloned. Changes of the model are persistent between multiple model instances.
      Specified by:
      copy in interface ModelInstance
      Returns:
      the new model instance
    • validate

      public ValidationResults validate(Collection<ModelElementValidator<?>> validators)
      Description copied from interface: ModelInstance
      Validate semantic properties of this model instance using a collection of validators. ModelElementValidator is an SPI that can be implemented by the user to execute custom validation logic on the model. The validation results are collected into a ValidationResults object which is returned by this method.
      Specified by:
      validate in interface ModelInstance
      Parameters:
      validators - the validators to execute
      Returns:
      the results of the validation.