Package org.drools.core.common
Class AgendaGroupQueueImpl
- java.lang.Object
-
- org.drools.core.common.AgendaGroupQueueImpl
-
- All Implemented Interfaces:
InternalAgendaGroup,InternalRuleFlowGroup,AgendaGroup,RuleFlowGroup,org.kie.api.runtime.rule.AgendaGroup,org.kie.api.runtime.rule.RuleFlowGroup
public class AgendaGroupQueueImpl extends 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.spi.AgendaGroup
MAIN
-
-
Constructor Summary
Constructors Constructor Description AgendaGroupQueueImpl(String name, RuleBase kBase)
-
Method Summary
-
-
-
Method Detail
-
visited
public void visited()
- Specified by:
visitedin interfaceInternalAgendaGroup
-
getName
public 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 interfaceAgendaGroup- 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 interfaceAgendaGroup- 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(Object processInstanceId, String nodeInstanceId)
- Specified by:
addNodeInstancein interfaceInternalAgendaGroup
-
removeNodeInstance
public void removeNodeInstance(Object processInstanceId, String nodeInstanceId)
- Specified by:
removeNodeInstancein interfaceInternalAgendaGroup
-
setActive
public void setActive(boolean activate)
- Specified by:
setActivein interfaceInternalAgendaGroup
-
getAutoFocusActivator
public PropagationContext getAutoFocusActivator()
- Specified by:
getAutoFocusActivatorin interfaceAgendaGroup
-
setAutoFocusActivator
public void setAutoFocusActivator(PropagationContext autoFocusActivator)
- Specified by:
setAutoFocusActivatorin interfaceAgendaGroup
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceAgendaGroup- Specified by:
isEmptyin interfaceRuleFlowGroup- Returns:
- boolean value indicating if this AgendaGroup is empty or not
-
getActivations
public Activation[] getActivations()
- Specified by:
getActivationsin interfaceAgendaGroup- Specified by:
getActivationsin interfaceInternalAgendaGroup- Returns:
- An immutable Collection of all the activations in the AgendaGroup
-
getNodeInstances
public Map<Object,String> getNodeInstances()
- Specified by:
getNodeInstancesin interfaceInternalAgendaGroup
-
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
-
-