java.lang.Object
org.camunda.bpm.model.xml.impl.type.reference.ReferenceImpl<T>
All Implemented Interfaces:
Reference<T>
Direct Known Subclasses:
AttributeReferenceImpl, ElementReferenceCollectionImpl

public abstract class ReferenceImpl<T extends ModelElementInstance> extends Object implements Reference<T>
Author:
Sebastian Menski
  • Field Details

  • Constructor Details

    • ReferenceImpl

      public ReferenceImpl()
  • Method Details

    • setReferenceIdentifier

      protected abstract void setReferenceIdentifier(ModelElementInstance referenceSourceElement, String referenceIdentifier)
      Set the reference identifier in the reference source
      Parameters:
      referenceSourceElement - the reference source model element instance
      referenceIdentifier - the new reference identifier
    • getReferenceTargetElement

      public T getReferenceTargetElement(ModelElementInstance referenceSourceElement)
      Get the reference target model element instance
      Specified by:
      getReferenceTargetElement in interface Reference<T extends ModelElementInstance>
      Parameters:
      referenceSourceElement - the reference source model element instance
      Returns:
      the reference target model element instance or null if not set
    • setReferenceTargetElement

      public void setReferenceTargetElement(ModelElementInstance referenceSourceElement, T referenceTargetElement)
      Set the reference target model element instance
      Specified by:
      setReferenceTargetElement in interface Reference<T extends ModelElementInstance>
      Parameters:
      referenceSourceElement - the reference source model element instance
      referenceTargetElement - the reference target model element instance
      Throws:
      ModelReferenceException - if element is not already added to the model
    • setReferenceTargetAttribute

      public void setReferenceTargetAttribute(AttributeImpl<String> referenceTargetAttribute)
      Set the reference target attribute
      Parameters:
      referenceTargetAttribute - the reference target string attribute
    • getReferenceTargetAttribute

      public Attribute<String> getReferenceTargetAttribute()
      Get the reference target attribute
      Specified by:
      getReferenceTargetAttribute in interface Reference<T extends ModelElementInstance>
      Returns:
      the reference target string attribute
    • setReferenceTargetElementType

      public void setReferenceTargetElementType(ModelElementTypeImpl referenceTargetElementType)
      Set the reference target model element type
      Parameters:
      referenceTargetElementType - the referenceTargetElementType to set
    • findReferenceSourceElements

      public Collection<ModelElementInstance> findReferenceSourceElements(ModelElementInstance referenceTargetElement)
      Description copied from interface: Reference
      Find all reference source element instances of the reference target model element instance
      Specified by:
      findReferenceSourceElements in interface Reference<T extends ModelElementInstance>
      Parameters:
      referenceTargetElement - the reference target model element instance
      Returns:
      the collection of all reference source element instances
    • updateReference

      protected abstract void updateReference(ModelElementInstance referenceSourceElement, String oldIdentifier, String newIdentifier)
      Update the reference identifier of the reference source model element instance
      Parameters:
      referenceSourceElement - the reference source model element instance
      oldIdentifier - the old reference identifier
      newIdentifier - the new reference identifier
    • referencedElementUpdated

      public void referencedElementUpdated(ModelElementInstance referenceTargetElement, String oldIdentifier, String newIdentifier)
      Update the reference identifier
      Parameters:
      referenceTargetElement - the reference target model element instance
      oldIdentifier - the old reference identifier
      newIdentifier - the new reference identifier
    • removeReference

      protected abstract void removeReference(ModelElementInstance referenceSourceElement, ModelElementInstance referenceTargetElement)
      Remove the reference in the reference source model element instance
      Parameters:
      referenceSourceElement - the reference source model element instance
    • referencedElementRemoved

      public void referencedElementRemoved(ModelElementInstance referenceTargetElement, Object referenceIdentifier)
      Remove the reference if the target element is removed
      Parameters:
      referenceTargetElement - the reference target model element instance, which is removed
      referenceIdentifier - the identifier of the reference to filter reference source elements