Package org.camunda.bpm.model.xml.impl
Class ModelInstanceImpl
java.lang.Object
org.camunda.bpm.model.xml.impl.ModelInstanceImpl
- All Implemented Interfaces:
ModelInstance
- Direct Known Subclasses:
BpmnModelInstanceImpl
,CmmnModelInstanceImpl
,DmnModelInstanceImpl
An instance of a model
- Author:
- Daniel Meyer, Sebastian Menski
-
Field Summary
Modifier and TypeFieldDescriptionprotected final DomDocument
protected ModelImpl
protected final ModelBuilder
-
Constructor Summary
ConstructorDescriptionModelInstanceImpl
(ModelImpl model, ModelBuilder modelBuilder, DomDocument document) -
Method Summary
Modifier and TypeMethodDescriptionclone()
Copies the model instance but not the model.Returns the wrappedDomDocument
.Returns theModelElement
corresponding to the document element of this model or null if no document element exists.getModel()
Returns the underlying model.<T extends ModelElementInstance>
TFind a unique element of the model by id.<T extends ModelElementInstance>
Collection<T>getModelElementsByType
(Class<T> referencingClass) Find all elements of a type.Find all elements of a type.<T extends ModelElementInstance>
TnewInstance
(Class<T> type) Creates a new instance of type class.<T extends ModelElementInstance>
TnewInstance
(Class<T> type, String id) Creates a new instance of type class with user-defined id.<T extends ModelElementInstance>
TnewInstance
(ModelElementType type) Creates a new instance of type.<T extends ModelElementInstance>
TnewInstance
(ModelElementType type, String id) Creates a new instance of type with user-defined id.registerGenericType
(String namespaceUri, String localName) void
setDocumentElement
(ModelElementInstance modelElement) Updates the document element.validate
(Collection<ModelElementValidator<?>> validators) Validate semantic properties of this model instance using a collection of validators.
-
Field Details
-
document
-
model
-
modelBuilder
-
-
Constructor Details
-
ModelInstanceImpl
-
-
Method Details
-
getDocument
Description copied from interface:ModelInstance
Returns the wrappedDomDocument
.- Specified by:
getDocument
in interfaceModelInstance
- Returns:
- the DOM document
-
getDocumentElement
Description copied from interface:ModelInstance
Returns theModelElement
corresponding to the document element of this model or null if no document element exists.- Specified by:
getDocumentElement
in interfaceModelInstance
- Returns:
- the document element or null
-
setDocumentElement
Description copied from interface:ModelInstance
Updates the document element.- Specified by:
setDocumentElement
in interfaceModelInstance
- Parameters:
modelElement
- the new document element to set
-
newInstance
Description copied from interface:ModelInstance
Creates a new instance of type class.- Specified by:
newInstance
in interfaceModelInstance
- Type Parameters:
T
- instance type- Parameters:
type
- the class of the type to create- Returns:
- the new created instance
-
newInstance
Description copied from interface:ModelInstance
Creates a new instance of type class with user-defined id.- Specified by:
newInstance
in interfaceModelInstance
- Type Parameters:
T
- instance type- Parameters:
type
- the class of the type to createid
- identifier of new element instance- Returns:
- the new created instance
-
newInstance
Description copied from interface:ModelInstance
Creates a new instance of type.- Specified by:
newInstance
in interfaceModelInstance
- Type Parameters:
T
- instance type- Parameters:
type
- the type to create- Returns:
- the new created instance
-
newInstance
Description copied from interface:ModelInstance
Creates a new instance of type with user-defined id.- Specified by:
newInstance
in interfaceModelInstance
- Type Parameters:
T
- instance type- Parameters:
type
- the type to createid
- identifier of new element instance- Returns:
- the new created instance
-
getModel
Description copied from interface:ModelInstance
Returns the underlying model.- Specified by:
getModel
in interfaceModelInstance
- Returns:
- the model
-
registerGenericType
-
getModelElementById
Description copied from interface:ModelInstance
Find a unique element of the model by id.- Specified by:
getModelElementById
in interfaceModelInstance
- Parameters:
id
- the id of the element- Returns:
- the element with the id or null
-
getModelElementsByType
Description copied from interface:ModelInstance
Find all elements of a type.- Specified by:
getModelElementsByType
in interfaceModelInstance
- 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 interfaceModelInstance
- Parameters:
referencingClass
- the type class of the elements- Returns:
- the collection of elements of the type
-
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 interfaceModelInstance
- Overrides:
clone
in classObject
- Returns:
- the new model instance
-
validate
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 aValidationResults
object which is returned by this method.- Specified by:
validate
in interfaceModelInstance
- Parameters:
validators
- the validators to execute- Returns:
- the results of the validation.
-