public abstract class AbstractEvaluationCriteriaOperation extends AbstractCaseInstanceOperation
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
evaluateStagesAndCaseInstanceCompletion
only the last evaluation planned on the agenda operation will have this true.
|
protected PlanItemLifeCycleEvent |
planItemLifeCycleEvent |
caseInstanceEntity, caseInstanceEntityIdcommandContext, isNoop| Constructor and Description |
|---|
AbstractEvaluationCriteriaOperation(CommandContext commandContext,
String caseInstanceId,
CaseInstanceEntity caseInstanceEntity,
PlanItemLifeCycleEvent planItemLifeCycleEvent) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
allOnPartsSatisfied(Set<String> satisfiedSentryOnPartIds,
List<org.flowable.cmmn.model.SentryOnPart> sentryOnParts)
Evaluate, if the sentries on-parts are all satisfied.
|
protected PlanItemInstanceEntity |
createPlanItemInstanceDuplicateForCollectionRepetition(org.flowable.cmmn.model.RepetitionRule repetitionRule,
PlanItemInstanceEntity planItemInstanceEntity,
String entryCriterionId,
Object item,
int index) |
protected PlanItemInstanceEntity |
createPlanItemInstanceDuplicateForRepetition(PlanItemInstanceEntity planItemInstanceEntity) |
protected SentryPartInstanceEntity |
createSentryPartInstanceEntity(EntityWithSentryPartInstances entityWithSentryPartInstances,
org.flowable.cmmn.model.Sentry sentry,
org.flowable.cmmn.model.SentryOnPart sentryOnPart,
org.flowable.cmmn.model.SentryIfPart sentryIfPart) |
protected boolean |
evaluateAvailableCondition(CommandContext commandContext,
PlanItemInstanceEntity planItemInstanceEntity) |
protected org.flowable.cmmn.model.Criterion |
evaluateCriteria(EntityWithSentryPartInstances entityWithSentryPartInstances,
List<org.flowable.cmmn.model.Criterion> criteria) |
protected org.flowable.cmmn.model.Criterion |
evaluateDependentPlanItemEntryCriteria(org.flowable.cmmn.model.PlanItem entryDependentPlanItem) |
protected void |
evaluateDependentPlanItems() |
protected org.flowable.cmmn.model.Criterion |
evaluateEntryCriteria(PlanItemInstanceEntity planItemInstanceEntity,
org.flowable.cmmn.model.PlanItem planItem) |
protected org.flowable.cmmn.model.Criterion |
evaluateExitCriteria(EntityWithSentryPartInstances entityWithSentryPartInstances,
org.flowable.cmmn.model.HasExitCriteria hasExitCriteria) |
void |
evaluateForActivation(PlanItemInstanceEntity planItemInstanceEntity,
PlanItemInstanceContainer planItemInstanceContainer,
PlanItemEvaluationResult evaluationResult)
Evaluates the given plan item for activation by looking at its entry criteria, repetition rule and whether the plan item is a special one like an
event listener (they occur and will never actually be active).
|
boolean |
evaluateForCompletion(PlanItemInstanceEntity planItemInstanceEntity,
PlanItemEvaluationResult evaluationResult)
Evaluates the given plan item for completion or termination by looking at its state and exit criteria.
|
protected boolean |
evaluatePlanItemsCriteria(PlanItemInstanceContainer planItemInstanceContainer)
Evaluates the entry/exit criteria for the given plan item instances
and plans new operations when its criteria are satisfied.
|
protected boolean |
evaluatePlanItemsWithAvailableCondition(PlanItemInstanceContainer planItemInstanceContainer) |
protected boolean |
evaluatePlanModelComplete() |
protected boolean |
evaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity,
org.flowable.cmmn.model.Criterion satisfiedEntryCriterion,
PlanItemInstanceContainer planItemInstanceContainer,
PlanItemEvaluationResult evaluationResult)
Evaluates an optional repetition rule on the given plan item and handles it.
|
protected boolean |
evaluateSentryIfPart(EntityWithSentryPartInstances entityWithSentryPartInstances,
org.flowable.cmmn.model.Sentry sentry,
VariableContainer variableContainer) |
protected List<PlanItemInstanceEntity> |
findChangedEventListenerInstances(PlanItemInstanceContainer planItemInstanceContainer,
String state,
boolean conditionValueToChange) |
PlanItemLifeCycleEvent |
getPlanItemLifeCycleEvent() |
boolean |
isEvaluateCaseInstanceCompleted() |
protected boolean |
isStageCompletable(PlanItemInstanceEntity stagePlanItemInstanceEntity,
org.flowable.cmmn.model.Stage stage) |
protected boolean |
planItemsShareDirectParentStage(org.flowable.cmmn.model.PlanItem planItemOne,
org.flowable.cmmn.model.PlanItem planItemTwo) |
boolean |
sentryOnPartMatchesCurrentLifeCycleEvent(org.flowable.cmmn.model.SentryOnPart sentryOnPart) |
void |
setEvaluateStagesAndCaseInstanceCompletion(boolean evaluateStagesAndCaseInstanceCompletion) |
void |
setPlanItemLifeCycleEvent(PlanItemLifeCycleEvent planItemLifeCycleEvent) |
getCaseInstanceEntity, getCaseInstanceId, run, setCaseInstanceEntity, setCaseInstanceEntityIdchildPlanItemInstanceForPlanItemExists, createPlanItemInstanceIfNeeded, createPlanItemInstancesForNewOrReactivatedStage, evaluateReactivationCondition, evaluateReactivationRule, getPlanItemCreationOrReactivationType, getPlanModel, getStage, isEventListenerWithAvailableCondition, isNoop, isStage, markAsNoop, setRepetitionCounterprotected PlanItemLifeCycleEvent planItemLifeCycleEvent
protected boolean evaluateStagesAndCaseInstanceCompletion
public AbstractEvaluationCriteriaOperation(CommandContext commandContext, String caseInstanceId, CaseInstanceEntity caseInstanceEntity, PlanItemLifeCycleEvent planItemLifeCycleEvent)
public void evaluateForActivation(PlanItemInstanceEntity planItemInstanceEntity, PlanItemInstanceContainer planItemInstanceContainer, PlanItemEvaluationResult evaluationResult)
planItemInstanceEntity - the plan item instance to evaluateplanItemInstanceContainer - the parent container of the plan item instanceevaluationResult - the object holding evaluation results, will be modified inside this method with gained informationprotected boolean evaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity, org.flowable.cmmn.model.Criterion satisfiedEntryCriterion, PlanItemInstanceContainer planItemInstanceContainer, PlanItemEvaluationResult evaluationResult)
planItemInstanceEntity - the plan item instance to test for a repetition rulesatisfiedEntryCriterion - the optional, satisfied entry criterion activating the plan item, might be nullplanItemInstanceContainer - the parent container of the given plan itemevaluationResult - the evaluation result used to collect information during the evaluation of a list of plan items, will be modified inside this
method to reflect gained information about further evaluation as well as any newly created plan item instances for repetitionpublic boolean evaluateForCompletion(PlanItemInstanceEntity planItemInstanceEntity, PlanItemEvaluationResult evaluationResult)
planItemInstanceEntity - the plan item instance to evaluate for completion or terminationevaluationResult - the object holding evaluation results, will be modified inside this method with gained informationprotected boolean evaluatePlanItemsCriteria(PlanItemInstanceContainer planItemInstanceContainer)
Returns true if any (part of a) sentry has fired (and didn't fire before) or if any of the passed plan items are still active.
Returns false if no sentry changes happened and none of the passed plan item instances are active. This means that the parent of these plan item instances also now can change its state.
protected void evaluateDependentPlanItems()
protected boolean isStageCompletable(PlanItemInstanceEntity stagePlanItemInstanceEntity, org.flowable.cmmn.model.Stage stage)
protected boolean evaluatePlanModelComplete()
protected boolean evaluatePlanItemsWithAvailableCondition(PlanItemInstanceContainer planItemInstanceContainer)
protected org.flowable.cmmn.model.Criterion evaluateEntryCriteria(PlanItemInstanceEntity planItemInstanceEntity, org.flowable.cmmn.model.PlanItem planItem)
protected org.flowable.cmmn.model.Criterion evaluateExitCriteria(EntityWithSentryPartInstances entityWithSentryPartInstances, org.flowable.cmmn.model.HasExitCriteria hasExitCriteria)
protected org.flowable.cmmn.model.Criterion evaluateCriteria(EntityWithSentryPartInstances entityWithSentryPartInstances, List<org.flowable.cmmn.model.Criterion> criteria)
protected boolean evaluateAvailableCondition(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity)
protected boolean allOnPartsSatisfied(Set<String> satisfiedSentryOnPartIds, List<org.flowable.cmmn.model.SentryOnPart> sentryOnParts)
satisfiedSentryOnPartIds - the set of satisfied sentry on parts, which might also contain on-parts from other sentries on the same plan item.sentryOnParts - the list of on-parts of the currently evaluated sentrypublic boolean sentryOnPartMatchesCurrentLifeCycleEvent(org.flowable.cmmn.model.SentryOnPart sentryOnPart)
protected List<PlanItemInstanceEntity> findChangedEventListenerInstances(PlanItemInstanceContainer planItemInstanceContainer, String state, boolean conditionValueToChange)
protected SentryPartInstanceEntity createSentryPartInstanceEntity(EntityWithSentryPartInstances entityWithSentryPartInstances, org.flowable.cmmn.model.Sentry sentry, org.flowable.cmmn.model.SentryOnPart sentryOnPart, org.flowable.cmmn.model.SentryIfPart sentryIfPart)
protected boolean evaluateSentryIfPart(EntityWithSentryPartInstances entityWithSentryPartInstances, org.flowable.cmmn.model.Sentry sentry, VariableContainer variableContainer)
protected org.flowable.cmmn.model.Criterion evaluateDependentPlanItemEntryCriteria(org.flowable.cmmn.model.PlanItem entryDependentPlanItem)
protected boolean planItemsShareDirectParentStage(org.flowable.cmmn.model.PlanItem planItemOne,
org.flowable.cmmn.model.PlanItem planItemTwo)
protected PlanItemInstanceEntity createPlanItemInstanceDuplicateForRepetition(PlanItemInstanceEntity planItemInstanceEntity)
protected PlanItemInstanceEntity createPlanItemInstanceDuplicateForCollectionRepetition(org.flowable.cmmn.model.RepetitionRule repetitionRule, PlanItemInstanceEntity planItemInstanceEntity, String entryCriterionId, Object item, int index)
public PlanItemLifeCycleEvent getPlanItemLifeCycleEvent()
public void setPlanItemLifeCycleEvent(PlanItemLifeCycleEvent planItemLifeCycleEvent)
public boolean isEvaluateCaseInstanceCompleted()
public void setEvaluateStagesAndCaseInstanceCompletion(boolean evaluateStagesAndCaseInstanceCompletion)
Copyright © 2021 Flowable. All rights reserved.