Package org.drools.kiesession.agenda
Class DefaultAgenda
- java.lang.Object
-
- org.drools.kiesession.agenda.DefaultAgenda
-
- All Implemented Interfaces:
org.drools.core.common.ActivationsManager,org.drools.core.common.InternalAgenda,org.kie.api.runtime.rule.Agenda
- Direct Known Subclasses:
PartitionedDefaultAgenda
public class DefaultAgenda extends java.lang.Object implements org.drools.core.common.InternalAgendaRule-firing Agenda.Since many rules may be matched by a single assertObject(...) all scheduled actions are placed into the
Agenda.While processing a scheduled action, it may update or retract objects in other scheduled actions, which must then be removed from the agenda. Non-invalidated actions are left on the agenda, and are executed in turn.
-
-
Field Summary
Fields Modifier and Type Field Description protected intactivationCounterprotected static org.slf4j.Loggerlogprotected org.drools.core.common.InternalWorkingMemoryworkingMemory
-
Constructor Summary
Constructors Constructor Description DefaultAgenda(org.drools.core.common.InternalWorkingMemory workingMemory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate()voidactivateRuleFlowGroup(java.lang.String name)voidactivateRuleFlowGroup(java.lang.String name, java.lang.String processInstanceId, java.lang.String nodeInstanceId)voidactivateRuleFlowGroup(org.drools.core.common.InternalRuleFlowGroup group, java.lang.Object processInstanceId, java.lang.String nodeInstanceId)voidaddEagerRuleAgendaItem(org.drools.core.phreak.RuleAgendaItem item)voidaddItemToActivationGroup(org.drools.core.rule.consequence.InternalMatch internalMatch)voidaddPropagation(org.drools.core.phreak.PropagationEntry propagationEntry)voidaddQueryAgendaItem(org.drools.core.phreak.RuleAgendaItem item)voidcancelActivation(org.drools.core.rule.consequence.InternalMatch internalMatch)voidclear()voidclearAndCancel()voidclearAndCancelActivationGroup(java.lang.String name)voidclearAndCancelActivationGroup(org.drools.core.common.InternalActivationGroup activationGroup)voidclearAndCancelAgendaGroup(java.lang.String name)voidclearAndCancelRuleFlowGroup(java.lang.String name)org.drools.core.rule.consequence.InternalMatchcreateAgendaItem(org.drools.core.reteoo.RuleTerminalNodeLeftTuple rtnLeftTuple, int salience, org.drools.core.common.PropagationContext context, org.drools.core.phreak.RuleAgendaItem ruleAgendaItem, org.drools.core.common.InternalAgendaGroup agendaGroup)protected org.drools.core.phreak.PropagationListcreatePropagationList()org.drools.core.phreak.RuleAgendaItemcreateRuleAgendaItem(int salience, org.drools.core.reteoo.PathMemory rs, org.drools.core.reteoo.TerminalNode rtn)voiddeactivate()booleandispose(org.drools.core.common.InternalWorkingMemory wm)protected voiddoRetract(org.drools.core.common.PropagationContext ectx)voidevaluateEagerList()voidevaluateQueriesForRule(org.drools.core.phreak.RuleAgendaItem item)voidexecuteFlush()voidexecuteTask(org.drools.core.phreak.ExecutableEntry executable)intfireAllRules(org.kie.api.runtime.rule.AgendaFilter agendaFilter, int fireLimit)voidfireUntilHalt()voidfireUntilHalt(org.kie.api.runtime.rule.AgendaFilter agendaFilter)voidflushPropagations()java.util.Iterator<org.drools.core.phreak.PropagationEntry>getActionsIterator()org.drools.core.common.InternalActivationGroupgetActivationGroup(java.lang.String name)java.util.Map<java.lang.String,org.drools.core.common.InternalActivationGroup>getActivationGroupsMap()org.drools.core.common.ActivationsFiltergetActivationsFilter()org.drools.core.event.AgendaEventSupportgetAgendaEventSupport()org.kie.api.runtime.rule.AgendaGroupgetAgendaGroup(java.lang.String name)org.drools.core.common.AgendaGroupsManagergetAgendaGroupsManager()java.lang.StringgetFocusName()org.drools.core.rule.consequence.KnowledgeHelpergetKnowledgeHelper()org.drools.core.phreak.PropagationListgetPropagationList()org.drools.core.common.ReteEvaluatorgetReteEvaluator()org.drools.core.common.RuleFlowGroupgetRuleFlowGroup(java.lang.String name)org.drools.core.common.InternalWorkingMemorygetWorkingMemory()voidhalt()voidhaltGroupEvaluation()voidhandleException(org.drools.core.rule.consequence.InternalMatch internalMatch, java.lang.Exception e)booleanhasPendingPropagations()voidinternalHalt()booleanisAlive()booleanisDeclarativeAgenda()booleanisFiring()booleanisParallelAgenda()protected booleanisPendingRemoveFactHandleFromStore(org.drools.core.common.InternalFactHandle factHandle)booleanisRuleActiveInRuleFlowGroup(java.lang.String ruleflowGroupName, java.lang.String ruleName, java.lang.String processInstanceId)voidnotifyWaitOnRest()org.drools.core.phreak.RuleAgendaItempeekNextRule()voidregisterExpiration(org.drools.core.common.PropagationContext ectx)voidremoveEagerRuleAgendaItem(org.drools.core.phreak.RuleAgendaItem item)voidremoveQueryAgendaItem(org.drools.core.phreak.RuleAgendaItem item)voidreset()voidresetKnowledgeHelper()protected voidretractFactHandle(org.drools.core.common.PropagationContext ectx, org.drools.core.common.InternalFactHandle factHandle)voidsetActivationsFilter(org.drools.core.common.ActivationsFilter filter)booleansetFocus(java.lang.String name)booleansetFocus(org.drools.core.common.PropagationContext ctx, java.lang.String name)intsizeOfRuleFlowGroup(java.lang.String name)booleantryDeactivate()
-
-
-
Method Detail
-
createRuleAgendaItem
public org.drools.core.phreak.RuleAgendaItem createRuleAgendaItem(int salience, org.drools.core.reteoo.PathMemory rs, org.drools.core.reteoo.TerminalNode rtn)- Specified by:
createRuleAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
createAgendaItem
public org.drools.core.rule.consequence.InternalMatch createAgendaItem(org.drools.core.reteoo.RuleTerminalNodeLeftTuple rtnLeftTuple, int salience, org.drools.core.common.PropagationContext context, org.drools.core.phreak.RuleAgendaItem ruleAgendaItem, org.drools.core.common.InternalAgendaGroup agendaGroup)- Specified by:
createAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
createPropagationList
protected org.drools.core.phreak.PropagationList createPropagationList()
-
getPropagationList
public org.drools.core.phreak.PropagationList getPropagationList()
-
getWorkingMemory
public org.drools.core.common.InternalWorkingMemory getWorkingMemory()
- Specified by:
getWorkingMemoryin interfaceorg.drools.core.common.InternalAgenda
-
addEagerRuleAgendaItem
public void addEagerRuleAgendaItem(org.drools.core.phreak.RuleAgendaItem item)
- Specified by:
addEagerRuleAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
removeEagerRuleAgendaItem
public void removeEagerRuleAgendaItem(org.drools.core.phreak.RuleAgendaItem item)
- Specified by:
removeEagerRuleAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
addQueryAgendaItem
public void addQueryAgendaItem(org.drools.core.phreak.RuleAgendaItem item)
- Specified by:
addQueryAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
removeQueryAgendaItem
public void removeQueryAgendaItem(org.drools.core.phreak.RuleAgendaItem item)
- Specified by:
removeQueryAgendaItemin interfaceorg.drools.core.common.ActivationsManager
-
addItemToActivationGroup
public void addItemToActivationGroup(org.drools.core.rule.consequence.InternalMatch internalMatch)
- Specified by:
addItemToActivationGroupin interfaceorg.drools.core.common.ActivationsManager
-
peekNextRule
public org.drools.core.phreak.RuleAgendaItem peekNextRule()
- Specified by:
peekNextRulein interfaceorg.drools.core.common.ActivationsManager
-
isDeclarativeAgenda
public boolean isDeclarativeAgenda()
- Specified by:
isDeclarativeAgendain interfaceorg.drools.core.common.InternalAgenda
-
isRuleActiveInRuleFlowGroup
public boolean isRuleActiveInRuleFlowGroup(java.lang.String ruleflowGroupName, java.lang.String ruleName, java.lang.String processInstanceId)- Specified by:
isRuleActiveInRuleFlowGroupin interfaceorg.drools.core.common.InternalAgenda
-
cancelActivation
public void cancelActivation(org.drools.core.rule.consequence.InternalMatch internalMatch)
- Specified by:
cancelActivationin interfaceorg.drools.core.common.ActivationsManager
-
setFocus
public boolean setFocus(java.lang.String name)
- Specified by:
setFocusin interfaceorg.drools.core.common.InternalAgenda
-
setFocus
public boolean setFocus(org.drools.core.common.PropagationContext ctx, java.lang.String name)
-
getReteEvaluator
public org.drools.core.common.ReteEvaluator getReteEvaluator()
- Specified by:
getReteEvaluatorin interfaceorg.drools.core.common.ActivationsManager
-
getAgendaGroupsManager
public org.drools.core.common.AgendaGroupsManager getAgendaGroupsManager()
- Specified by:
getAgendaGroupsManagerin interfaceorg.drools.core.common.ActivationsManager
-
getAgendaEventSupport
public org.drools.core.event.AgendaEventSupport getAgendaEventSupport()
- Specified by:
getAgendaEventSupportin interfaceorg.drools.core.common.ActivationsManager
-
getActivationGroupsMap
public java.util.Map<java.lang.String,org.drools.core.common.InternalActivationGroup> getActivationGroupsMap()
- Specified by:
getActivationGroupsMapin interfaceorg.drools.core.common.InternalAgenda
-
getActivationGroup
public org.drools.core.common.InternalActivationGroup getActivationGroup(java.lang.String name)
- Specified by:
getActivationGroupin interfaceorg.kie.api.runtime.rule.Agenda
-
getRuleFlowGroup
public org.drools.core.common.RuleFlowGroup getRuleFlowGroup(java.lang.String name)
- Specified by:
getRuleFlowGroupin interfaceorg.kie.api.runtime.rule.Agenda
-
activateRuleFlowGroup
public void activateRuleFlowGroup(java.lang.String name)
- Specified by:
activateRuleFlowGroupin interfaceorg.drools.core.common.InternalAgenda
-
activateRuleFlowGroup
public void activateRuleFlowGroup(java.lang.String name, java.lang.String processInstanceId, java.lang.String nodeInstanceId)- Specified by:
activateRuleFlowGroupin interfaceorg.drools.core.common.InternalAgenda
-
activateRuleFlowGroup
public void activateRuleFlowGroup(org.drools.core.common.InternalRuleFlowGroup group, java.lang.Object processInstanceId, java.lang.String nodeInstanceId)
-
clear
public void clear()
- Specified by:
clearin interfaceorg.kie.api.runtime.rule.Agenda
-
getAgendaGroup
public org.kie.api.runtime.rule.AgendaGroup getAgendaGroup(java.lang.String name)
- Specified by:
getAgendaGroupin interfaceorg.kie.api.runtime.rule.Agenda
-
reset
public void reset()
- Specified by:
resetin interfaceorg.drools.core.common.InternalAgenda
-
clearAndCancel
public void clearAndCancel()
- Specified by:
clearAndCancelin interfaceorg.drools.core.common.InternalAgenda
-
clearAndCancelAgendaGroup
public void clearAndCancelAgendaGroup(java.lang.String name)
- Specified by:
clearAndCancelAgendaGroupin interfaceorg.drools.core.common.InternalAgenda
-
clearAndCancelActivationGroup
public void clearAndCancelActivationGroup(java.lang.String name)
- Specified by:
clearAndCancelActivationGroupin interfaceorg.drools.core.common.ActivationsManager- Specified by:
clearAndCancelActivationGroupin interfaceorg.drools.core.common.InternalAgenda
-
clearAndCancelActivationGroup
public void clearAndCancelActivationGroup(org.drools.core.common.InternalActivationGroup activationGroup)
- Specified by:
clearAndCancelActivationGroupin interfaceorg.drools.core.common.ActivationsManager
-
clearAndCancelRuleFlowGroup
public void clearAndCancelRuleFlowGroup(java.lang.String name)
- Specified by:
clearAndCancelRuleFlowGroupin interfaceorg.drools.core.common.InternalAgenda
-
evaluateEagerList
public void evaluateEagerList()
- Specified by:
evaluateEagerListin interfaceorg.drools.core.common.ActivationsManager
-
evaluateQueriesForRule
public void evaluateQueriesForRule(org.drools.core.phreak.RuleAgendaItem item)
- Specified by:
evaluateQueriesForRulein interfaceorg.drools.core.common.ActivationsManager
-
sizeOfRuleFlowGroup
public int sizeOfRuleFlowGroup(java.lang.String name)
- Specified by:
sizeOfRuleFlowGroupin interfaceorg.drools.core.common.InternalAgenda
-
getFocusName
public java.lang.String getFocusName()
- Specified by:
getFocusNamein interfaceorg.drools.core.common.InternalAgenda
-
fireUntilHalt
public void fireUntilHalt()
- Specified by:
fireUntilHaltin interfaceorg.drools.core.common.InternalAgenda
-
fireUntilHalt
public void fireUntilHalt(org.kie.api.runtime.rule.AgendaFilter agendaFilter)
- Specified by:
fireUntilHaltin interfaceorg.drools.core.common.InternalAgenda
-
fireAllRules
public int fireAllRules(org.kie.api.runtime.rule.AgendaFilter agendaFilter, int fireLimit)- Specified by:
fireAllRulesin interfaceorg.drools.core.common.ActivationsManager- Specified by:
fireAllRulesin interfaceorg.drools.core.common.InternalAgenda
-
isFiring
public boolean isFiring()
- Specified by:
isFiringin interfaceorg.drools.core.common.ActivationsManager
-
executeTask
public void executeTask(org.drools.core.phreak.ExecutableEntry executable)
- Specified by:
executeTaskin interfaceorg.drools.core.common.ActivationsManager
-
executeFlush
public void executeFlush()
- Specified by:
executeFlushin interfaceorg.drools.core.common.InternalAgenda
-
activate
public void activate()
- Specified by:
activatein interfaceorg.drools.core.common.InternalAgenda
-
deactivate
public void deactivate()
- Specified by:
deactivatein interfaceorg.drools.core.common.InternalAgenda
-
tryDeactivate
public boolean tryDeactivate()
- Specified by:
tryDeactivatein interfaceorg.drools.core.common.InternalAgenda
-
halt
public void halt()
- Specified by:
haltin interfaceorg.drools.core.common.InternalAgenda
-
dispose
public boolean dispose(org.drools.core.common.InternalWorkingMemory wm)
- Specified by:
disposein interfaceorg.drools.core.common.InternalAgenda
-
isAlive
public boolean isAlive()
- Specified by:
isAlivein interfaceorg.drools.core.common.InternalAgenda
-
internalHalt
public void internalHalt()
-
setActivationsFilter
public void setActivationsFilter(org.drools.core.common.ActivationsFilter filter)
- Specified by:
setActivationsFilterin interfaceorg.drools.core.common.InternalAgenda
-
getActivationsFilter
public org.drools.core.common.ActivationsFilter getActivationsFilter()
- Specified by:
getActivationsFilterin interfaceorg.drools.core.common.ActivationsManager
-
handleException
public void handleException(org.drools.core.rule.consequence.InternalMatch internalMatch, java.lang.Exception e)- Specified by:
handleExceptionin interfaceorg.drools.core.common.ActivationsManager
-
getKnowledgeHelper
public org.drools.core.rule.consequence.KnowledgeHelper getKnowledgeHelper()
- Specified by:
getKnowledgeHelperin interfaceorg.drools.core.common.ActivationsManager
-
resetKnowledgeHelper
public void resetKnowledgeHelper()
- Specified by:
resetKnowledgeHelperin interfaceorg.drools.core.common.ActivationsManager
-
haltGroupEvaluation
public void haltGroupEvaluation()
- Specified by:
haltGroupEvaluationin interfaceorg.drools.core.common.ActivationsManager
-
addPropagation
public void addPropagation(org.drools.core.phreak.PropagationEntry propagationEntry)
- Specified by:
addPropagationin interfaceorg.drools.core.common.ActivationsManager
-
flushPropagations
public void flushPropagations()
- Specified by:
flushPropagationsin interfaceorg.drools.core.common.ActivationsManager
-
notifyWaitOnRest
public void notifyWaitOnRest()
- Specified by:
notifyWaitOnRestin interfaceorg.drools.core.common.InternalAgenda
-
getActionsIterator
public java.util.Iterator<org.drools.core.phreak.PropagationEntry> getActionsIterator()
- Specified by:
getActionsIteratorin interfaceorg.drools.core.common.InternalAgenda
-
hasPendingPropagations
public boolean hasPendingPropagations()
- Specified by:
hasPendingPropagationsin interfaceorg.drools.core.common.InternalAgenda
-
registerExpiration
public void registerExpiration(org.drools.core.common.PropagationContext ectx)
- Specified by:
registerExpirationin interfaceorg.drools.core.common.ActivationsManager
-
doRetract
protected void doRetract(org.drools.core.common.PropagationContext ectx)
-
retractFactHandle
protected void retractFactHandle(org.drools.core.common.PropagationContext ectx, org.drools.core.common.InternalFactHandle factHandle)
-
isPendingRemoveFactHandleFromStore
protected boolean isPendingRemoveFactHandleFromStore(org.drools.core.common.InternalFactHandle factHandle)
-
isParallelAgenda
public boolean isParallelAgenda()
- Specified by:
isParallelAgendain interfaceorg.drools.core.common.InternalAgenda
-
-