Class TerminatePlanItemInstanceOperation
java.lang.Object
org.flowable.cmmn.engine.impl.agenda.operation.CmmnOperation
org.flowable.cmmn.engine.impl.agenda.operation.AbstractPlanItemInstanceOperation
org.flowable.cmmn.engine.impl.agenda.operation.AbstractChangePlanItemInstanceStateOperation
org.flowable.cmmn.engine.impl.agenda.operation.AbstractMovePlanItemInstanceToTerminalStateOperation
org.flowable.cmmn.engine.impl.agenda.operation.TerminatePlanItemInstanceOperation
- All Implemented Interfaces:
Runnable
public class TerminatePlanItemInstanceOperation
extends AbstractMovePlanItemInstanceToTerminalStateOperation
- Author:
- Joram Barrez
-
Field Summary
FieldsFields inherited from class org.flowable.cmmn.engine.impl.agenda.operation.AbstractPlanItemInstanceOperation
planItemInstanceEntityFields inherited from class org.flowable.cmmn.engine.impl.agenda.operation.CmmnOperation
commandContext, isNoop -
Constructor Summary
ConstructorsConstructorDescriptionTerminatePlanItemInstanceOperation(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity, String exitType, String exitEventType) -
Method Summary
Modifier and TypeMethodDescriptionbooleanOverwrite this default implemented hook, if the operation should be aborted on a void transition which might be the case, if the old and new state will be the same.protected voidImplementing classes should be aware that unlike extending from AbstractChangePlanItemInstanceStateOperation, this method will be executed just before the deleting the entitybooleanvoidsetExitEventType(String exitEventType) voidsetExitType(String exitType) protected booleanWhether multi aggregation needs to be done.protected booleanWhether variable aggregation should be done when a single instance completes.Methods inherited from class org.flowable.cmmn.engine.impl.agenda.operation.AbstractMovePlanItemInstanceToTerminalStateOperation
aggregateVariablesForAllInstances, aggregateVariablesForSingleInstance, exitChildPlanItemInstances, getVariableAggregations, hasMaxInstanceCount, hasRepetitionOnCollection, hasRepetitionRule, hasRepetitionRuleAndNoEntryCriteria, hasRepetitionRuleEntryCriteria, isAsyncLeave, isRepeatingOnDelete, isWaitingForRepetitionPlanItemInstanceExists, isWithoutStageOrParentIsNotTerminated, resolveEventDefinitionKey, runMethods inherited from class org.flowable.cmmn.engine.impl.agenda.operation.AbstractChangePlanItemInstanceStateOperation
createPlanItemLifeCycleEvent, isStateNotChanged, onPlanned, toStringMethods inherited from class org.flowable.cmmn.engine.impl.agenda.operation.AbstractPlanItemInstanceOperation
getCaseInstanceId, getCurrentTime, getPlanItemInstanceEntity, removeSentryRelatedData, setPlanItemInstanceEntityMethods inherited from class org.flowable.cmmn.engine.impl.agenda.operation.CmmnOperation
childPlanItemInstanceForPlanItemExists, createPlanItemInstanceIfNeeded, createPlanItemInstancesForNewOrReactivatedStage, evaluateReactivationCondition, evaluateReactivationRule, getCaseInstance, getPlanItemCreationOrReactivationType, getPlanModel, getStage, isEventListenerWithAvailableCondition, isNoop, isStage, markAsNoop, setRepetitionCounter
-
Field Details
-
exitType
-
exitEventType
-
-
Constructor Details
-
TerminatePlanItemInstanceOperation
public TerminatePlanItemInstanceOperation(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity, String exitType, String exitEventType)
-
-
Method Details
-
getNewState
- Specified by:
getNewStatein classAbstractChangePlanItemInstanceStateOperation
-
getLifeCycleTransition
- Specified by:
getLifeCycleTransitionin classAbstractChangePlanItemInstanceStateOperation
-
isEvaluateRepetitionRule
public boolean isEvaluateRepetitionRule()- Specified by:
isEvaluateRepetitionRulein classAbstractMovePlanItemInstanceToTerminalStateOperation
-
shouldAggregateForSingleInstance
protected boolean shouldAggregateForSingleInstance()Description copied from class:AbstractMovePlanItemInstanceToTerminalStateOperationWhether variable aggregation should be done when a single instance completes. This does not need to check whether the plan item instance has variable aggregations, that is the same for all instances. e.g. When an instance completes normally we should aggregate the data, but if it terminates we shouldn't- Specified by:
shouldAggregateForSingleInstancein classAbstractMovePlanItemInstanceToTerminalStateOperation
-
shouldAggregateForMultipleInstances
protected boolean shouldAggregateForMultipleInstances()Description copied from class:AbstractMovePlanItemInstanceToTerminalStateOperationWhether multi aggregation needs to be done. This does not need to check whether the plan item instance has variable aggregations, that is the same for all instances. e.g. Multi aggregation needs to be done when we do a normal completion, but not when the plan items are terminated- Specified by:
shouldAggregateForMultipleInstancesin classAbstractMovePlanItemInstanceToTerminalStateOperation
-
internalExecute
protected void internalExecute()Description copied from class:AbstractMovePlanItemInstanceToTerminalStateOperationImplementing classes should be aware that unlike extending from AbstractChangePlanItemInstanceStateOperation, this method will be executed just before the deleting the entity- Specified by:
internalExecutein classAbstractMovePlanItemInstanceToTerminalStateOperation
-
getAsyncLeaveTransitionMetadata
- Specified by:
getAsyncLeaveTransitionMetadatain classAbstractMovePlanItemInstanceToTerminalStateOperation
-
abortOperationIfNewStateEqualsOldState
public boolean abortOperationIfNewStateEqualsOldState()Description copied from class:AbstractChangePlanItemInstanceStateOperationOverwrite this default implemented hook, if the operation should be aborted on a void transition which might be the case, if the old and new state will be the same.- Overrides:
abortOperationIfNewStateEqualsOldStatein classAbstractChangePlanItemInstanceStateOperation- Returns:
- true, if this operation should be aborted, if the new plan item state is the same as the old one, false, if the operation is to be executed in any case
-
getOperationName
- Specified by:
getOperationNamein classAbstractChangePlanItemInstanceStateOperation
-
getExitType
-
setExitType
-
getExitEventType
-
setExitEventType
-