Package org.drools.core.common
Class AgendaGroupQueueImpl
- java.lang.Object
-
- org.drools.core.common.AgendaGroupQueueImpl
-
- All Implemented Interfaces:
InternalAgendaGroup,InternalRuleFlowGroup,RuleFlowGroup,org.kie.api.runtime.rule.AgendaGroup,org.kie.api.runtime.rule.RuleFlowGroup
public class AgendaGroupQueueImpl extends java.lang.Object implements InternalAgendaGroup, InternalRuleFlowGroup
AgendaGroupimplementation that uses aPriorityQueueto prioritise the evaluation of addedActivationQueues. TheAgendaGroupalso maintains aMapofActivationQueuesfor requested salience values.- See Also:
PriorityQueue
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAgendaGroupQueueImpl.ClearActionstatic classAgendaGroupQueueImpl.DeactivateCallbackclassAgendaGroupQueueImpl.SetFocusAction
-
Field Summary
-
Fields inherited from interface org.drools.core.common.InternalAgendaGroup
MAIN
-
-
Constructor Summary
Constructors Constructor Description AgendaGroupQueueImpl(java.lang.String name, RuleBase kBase)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Activation activation)voidaddNodeInstance(java.lang.Object processInstanceId, java.lang.String nodeInstanceId)voidclear()booleanequals(java.lang.Object object)longgetActivatedForRecency()Activation[]getActivations()Activation[]getAndClear()PropagationContextgetAutoFocusActivator()longgetClearedForRecency()java.lang.StringgetName()java.util.Map<java.lang.Object,java.lang.String>getNodeInstances()inthashCode()voidhasRuleFlowListener(boolean hasRuleFlowLister)booleanisActive()booleanisAutoDeactivate()booleanisEmpty()booleanisRuleFlowListener()booleanisSequential()Activationpeek()Activationremove()voidremove(Activation activation)voidremoveNodeInstance(java.lang.Object processInstanceId, java.lang.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()java.lang.StringtoString()voidvisited()
-
-
-
Constructor Detail
-
AgendaGroupQueueImpl
public AgendaGroupQueueImpl(java.lang.String name, RuleBase kBase)
-
-
Method Detail
-
visited
public void visited()
- Specified by:
visitedin interfaceInternalAgendaGroup
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceorg.kie.api.runtime.rule.AgendaGroup- Specified by:
getNamein interfaceRuleFlowGroup- Specified by:
getNamein interfaceorg.kie.api.runtime.rule.RuleFlowGroup
-
setReteEvaluator
public void setReteEvaluator(ReteEvaluator reteEvaluator)
- 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 interfaceorg.kie.api.runtime.rule.AgendaGroup- Specified by:
clearin interfaceorg.kie.api.runtime.rule.RuleFlowGroup
-
setFocus
public void setFocus()
- Specified by:
setFocusin interfaceorg.kie.api.runtime.rule.AgendaGroup
-
reset
public void reset()
- Specified by:
resetin interfaceInternalAgendaGroup
-
getAndClear
public Activation[] getAndClear()
- Specified by:
getAndClearin interfaceInternalAgendaGroup
-
size
public int size()
- Specified by:
sizein interfaceInternalAgendaGroup- Specified by:
sizein interfaceRuleFlowGroup- Returns:
- The int total number of activations
-
add
public void add(Activation activation)
- Specified by:
addin interfaceInternalAgendaGroup
-
remove
public Activation remove()
- Specified by:
removein interfaceInternalAgendaGroup
-
peek
public Activation 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
public void addNodeInstance(java.lang.Object processInstanceId, java.lang.String nodeInstanceId)- Specified by:
addNodeInstancein interfaceInternalAgendaGroup
-
removeNodeInstance
public void removeNodeInstance(java.lang.Object processInstanceId, java.lang.String nodeInstanceId)- Specified by:
removeNodeInstancein interfaceInternalAgendaGroup
-
setActive
public void setActive(boolean activate)
- Specified by:
setActivein interfaceInternalAgendaGroup
-
getAutoFocusActivator
public PropagationContext getAutoFocusActivator()
- Specified by:
getAutoFocusActivatorin interfaceInternalAgendaGroup
-
setAutoFocusActivator
public void setAutoFocusActivator(PropagationContext autoFocusActivator)
- 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
public Activation[] getActivations()
- Specified by:
getActivationsin interfaceInternalAgendaGroup
-
getNodeInstances
public java.util.Map<java.lang.Object,java.lang.String> getNodeInstances()
- Specified by:
getNodeInstancesin interfaceInternalAgendaGroup
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
remove
public void remove(Activation activation)
- 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
-
-