Interface ModelInstance

All Known Subinterfaces:
BpmnModelInstance, CmmnModelInstance, DmnModelInstance
All Known Implementing Classes:
BpmnModelInstanceImpl, CmmnModelInstanceImpl, DmnModelInstanceImpl, ModelInstanceImpl

public interface ModelInstance
An instance of a model
Author:
Daniel Meyer
  • Method Details

    • getDocument

      DomDocument getDocument()
      Returns the wrapped DomDocument.
      Returns:
      the DOM document
    • getDocumentElement

      ModelElementInstance getDocumentElement()
      Returns the ModelElement corresponding to the document element of this model or null if no document element exists.
      Returns:
      the document element or null
    • setDocumentElement

      void setDocumentElement(ModelElementInstance documentElement)
      Updates the document element.
      Parameters:
      documentElement - the new document element to set
    • newInstance

      <T extends ModelElementInstance> T newInstance(Class<T> type)
      Creates a new instance of type class.
      Type Parameters:
      T - instance type
      Parameters:
      type - the class of the type to create
      Returns:
      the new created instance
    • newInstance

      <T extends ModelElementInstance> T newInstance(Class<T> type, String id)
      Creates a new instance of type class with user-defined id.
      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

      <T extends ModelElementInstance> T newInstance(ModelElementType type)
      Creates a new instance of type.
      Type Parameters:
      T - instance type
      Parameters:
      type - the type to create
      Returns:
      the new created instance
    • newInstance

      <T extends ModelElementInstance> T newInstance(ModelElementType type, String id)
      Creates a new instance of type with user-defined id.
      Type Parameters:
      T - instance type
      Parameters:
      type - the type to create
      id - identifier of new element instance
      Returns:
      the new created instance
    • getModel

      Model getModel()
      Returns the underlying model.
      Returns:
      the model
    • getModelElementById

      <T extends ModelElementInstance> T getModelElementById(String id)
      Find a unique element of the model by id.
      Parameters:
      id - the id of the element
      Returns:
      the element with the id or null
    • getModelElementsByType

      Collection<ModelElementInstance> getModelElementsByType(ModelElementType referencingType)
      Find all elements of a type.
      Parameters:
      referencingType - the type of the elements
      Returns:
      the collection of elements of the type
    • getModelElementsByType

      <T extends ModelElementInstance> Collection<T> getModelElementsByType(Class<T> referencingClass)
      Find all elements of a type.
      Parameters:
      referencingClass - the type class of the elements
      Returns:
      the collection of elements of the type
    • clone

      Deprecated, for removal: This API element is subject to removal in a future version.
      Use copy() instead
      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.
      Returns:
      the new model instance
    • copy

      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.
      Returns:
      the new model instance
      Since:
      1.1
    • validate

      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.
      Parameters:
      validators - the validators to execute
      Returns:
      the results of the validation.