Package org.drools.core.common
Class AgendaGroupQueueImpl
java.lang.Object
org.drools.core.common.AgendaGroupQueueImpl
- All Implemented Interfaces:
InternalAgendaGroup,InternalRuleFlowGroup,RuleFlowGroup,AgendaGroup,RuleFlowGroup
public class AgendaGroupQueueImpl
extends Object
implements InternalAgendaGroup, InternalRuleFlowGroup
AgendaGroup implementation that uses a PriorityQueue to prioritise the evaluation of added
ActivationQueues. The AgendaGroup also maintains a Map of ActivationQueues
for requested salience values.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassstatic classclass -
Field Summary
Fields inherited from interface org.kie.api.runtime.rule.AgendaGroup
MAIN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(RuleAgendaItem activation) voidaddNodeInstance(Object processInstanceId, String nodeInstanceId) voidclear()booleanlonglonggetName()inthashCode()voidhasRuleFlowListener(boolean hasRuleFlowLister) booleanisActive()booleanbooleanisEmpty()booleanbooleanpeek()remove()voidremove(RuleAgendaItem activation) voidremoveNodeInstance(Object processInstanceId, String nodeInstanceId) voidreset()voidsetActivatedForRecency(long recency) voidsetActive(boolean activate) voidsetAutoDeactivate(boolean autoDeactivate) Sets the auto-deactivate status of this RuleFlowGroup.voidsetAutoFocusActivator(PropagationContext autoFocusActivator) voidsetClearedForRecency(long recency) voidsetFocus()voidsetReteEvaluator(ReteEvaluator reteEvaluator) intsize()toString()voidvisited()
-
Constructor Details
-
AgendaGroupQueueImpl
-
-
Method Details
-
visited
public void visited()- Specified by:
visitedin interfaceInternalAgendaGroup
-
getName
- Specified by:
getNamein interfaceAgendaGroup- Specified by:
getNamein interfaceRuleFlowGroup- Specified by:
getNamein interfaceRuleFlowGroup
-
setReteEvaluator
- Specified by:
setReteEvaluatorin interfaceInternalAgendaGroup
-
hasRuleFlowListener
public void hasRuleFlowListener(boolean hasRuleFlowLister) - Specified by:
hasRuleFlowListenerin interfaceInternalAgendaGroup
-
isRuleFlowListener
public boolean isRuleFlowListener()- Specified by:
isRuleFlowListenerin interfaceInternalAgendaGroup
-
clear
public void clear()- Specified by:
clearin interfaceAgendaGroup- Specified by:
clearin interfaceRuleFlowGroup
-
setFocus
public void setFocus()- Specified by:
setFocusin interfaceAgendaGroup
-
reset
public void reset()- Specified by:
resetin interfaceInternalAgendaGroup
-
size
public int size()- Specified by:
sizein interfaceInternalAgendaGroup- Specified by:
sizein interfaceRuleFlowGroup- Returns:
- The int total number of activations
-
add
- Specified by:
addin interfaceInternalAgendaGroup
-
remove
- Specified by:
removein interfaceInternalAgendaGroup
-
peek
- Specified by:
peekin interfaceInternalAgendaGroup
-
isActive
public boolean isActive()- Specified by:
isActivein interfaceInternalAgendaGroup- Specified by:
isActivein interfaceRuleFlowGroup- Returns:
- boolean value indicating if the AgendaGroup is active and thus being evaluated.
-
isAutoDeactivate
public boolean isAutoDeactivate()- Specified by:
isAutoDeactivatein interfaceInternalAgendaGroup- Specified by:
isAutoDeactivatein interfaceRuleFlowGroup
-
setAutoDeactivate
public void setAutoDeactivate(boolean autoDeactivate) Description copied from interface:InternalAgendaGroupSets the auto-deactivate status of this RuleFlowGroup. If this is set to true, an active RuleFlowGroup automatically deactivates if it has no more activations. If it had no activations when it was activated, it will be deactivated immediately.- Specified by:
setAutoDeactivatein interfaceInternalAgendaGroup- Specified by:
setAutoDeactivatein interfaceRuleFlowGroup
-
addNodeInstance
- Specified by:
addNodeInstancein interfaceInternalAgendaGroup
-
removeNodeInstance
- Specified by:
removeNodeInstancein interfaceInternalAgendaGroup
-
setActive
public void setActive(boolean activate) - Specified by:
setActivein interfaceInternalAgendaGroup
-
getAutoFocusActivator
- Specified by:
getAutoFocusActivatorin interfaceInternalAgendaGroup
-
setAutoFocusActivator
- Specified by:
setAutoFocusActivatorin interfaceInternalAgendaGroup
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceInternalAgendaGroup- Specified by:
isEmptyin interfaceRuleFlowGroup- Returns:
- boolean value indicating if this AgendaGroup is empty or not
-
getActivations
- Specified by:
getActivationsin interfaceInternalAgendaGroup
-
getNodeInstances
- Specified by:
getNodeInstancesin interfaceInternalAgendaGroup
-
toString
-
equals
-
hashCode
public int hashCode() -
remove
- Specified by:
removein interfaceInternalAgendaGroup
-
getActivatedForRecency
public long getActivatedForRecency()- Specified by:
getActivatedForRecencyin interfaceInternalAgendaGroup
-
setActivatedForRecency
public void setActivatedForRecency(long recency) - Specified by:
setActivatedForRecencyin interfaceInternalAgendaGroup
-
getClearedForRecency
public long getClearedForRecency()- Specified by:
getClearedForRecencyin interfaceInternalAgendaGroup
-
setClearedForRecency
public void setClearedForRecency(long recency) - Specified by:
setClearedForRecencyin interfaceInternalAgendaGroup
-
isSequential
public boolean isSequential()- Specified by:
isSequentialin interfaceInternalAgendaGroup
-