Interface DecisionActivityInstance

All Superinterfaces:
AbstractActivity, ActivityInstance, ExecutableBusinessProcessInstance, PluginDataContainer, Serializable, UserAttributeContainer

public interface DecisionActivityInstance extends ActivityInstance
Represents an activity instance which is used for decisions in the process model.

A decision activity instance has only one special output parameter of type INTEGER (getDecisionParameter()). The return value of the parameter is the decision ID. This ID can be mapped in the process model to branch IDs - e.g. of outgoing edges of an XOR split.

Since the decision IDs need to be mapped to branch IDs, and the integrity of the mapping and the consistency to the actual branches needs to be checked, all possible decision IDs need to be known in advance. More precisely, all possible return values of getDecisionParameter() are returned by getDecisionIDs().

Note: for the runtime manager, the decision activity will be wrapped. The runtime manager handles the decision activity instance as a normal activity instance, and may expect the decision parameter to be returned within ExecutableBusinessProcessInstance.getParameters(de.aristaflow.adept2.model.globals.ActivityConstants.AccessType).

FIXME "indirection" decision ID <-> branchID => this needs to be kept in the node (similar to connectors)

Author:
Kevin Goeser
  • Field Details

    • serialVersionUID

      static final long serialVersionUID
      Generated ID for serialisation.
      See Also:
  • Method Details

    • getDecisionParameter

      ProcessModelParameter getDecisionParameter()
      Returns the decision parameter. The parameter must be of type INTEGER (ProcessConstants.AdeptDataType.INTEGER).

      All possible values of the parameter are known and can be retrieved via getDecisionIDs().

      Returns:
      The description of the decision parameter.
    • getDecisionLabel

      String getDecisionLabel(long decisionID)
      Returns the label which is associated with the given decision ID. The decision label is not localised. If you need the localised label use getDecisionStatements().
      Parameters:
      decisionID - The decision ID.
      Returns:
      The (non-localised) label for the given decision ID.
    • getDecisionStatement

      String getDecisionStatement(long decisionID)
      Returns the statement that is associated with the given decision ID. The statement is not localised. If you need the localised label use getDecisionStatements().
      Parameters:
      decisionID - The decision ID
      Returns:
      A (non localised) statement string for the given decision ID
    • getDecisionIDs

      long[] getDecisionIDs()
      Returns all possible decision IDs, i.e. all possible return values of the parameter.
      Returns:
      The decision IDs.
    • getDecisionStatements

      Map<Long,DecisionStatement> getDecisionStatements()
      Gets all decision statements of this decision activity instance indexed by the corresponding decision ID. The returned decision statement instances may be subject of localisation, the caller needs to wrap them appropriately for this.
      Returns:
      A map of all decision statements of this decision activity instance indexed by the corresponding decision ID.