public class AbstractWorkingMemory extends Object implements InternalWorkingMemoryActions, EventSupport, org.kie.api.event.process.ProcessEventManager, org.kie.internal.process.CorrelationAwareProcessRuntime, ReteooWorkingMemoryInterface, StatefulSession, Externalizable
WorkingMemory
.Modifier and Type | Class and Description |
---|---|
static class |
AbstractWorkingMemory.GlobalsAdapter |
class |
AbstractWorkingMemory.RuleFlowDeactivateEvent |
static class |
AbstractWorkingMemory.WorkingMemoryReteAssertAction |
static class |
AbstractWorkingMemory.WorkingMemoryReteExpireAction |
Modifier and Type | Field and Description |
---|---|
protected List |
__ruleBaseEventListeners |
protected InternalAgenda |
agenda
Rule-firing agenda.
|
protected AgendaEventSupport |
agendaEventSupport |
byte[] |
bytes |
protected org.kie.api.runtime.Calendars |
calendars |
protected SessionConfiguration |
config |
protected DateFormats |
dateFormats |
protected NamedEntryPoint |
defaultEntryPoint |
protected Map<String,WorkingMemoryEntryPoint> |
entryPoints |
protected AtomicBoolean |
evaluatingActionQueue |
protected AtomicBoolean |
firing
Flag to determine if a rule is currently being fired.
|
protected GlobalResolver |
globalResolver
Global values which are associated with this memory.
|
protected FactHandleFactory |
handleFactory |
protected int |
id |
protected InternalFactHandle |
initialFactHandle |
protected ReentrantLock |
lock |
protected PropagationContextFactory |
pctxFactory |
protected AtomicLong |
propagationIdCounter
This must be thread safe as it is incremented and read via different
EntryPoints
|
protected InternalRuleBase |
ruleBase
The
RuleBase with which this memory is associated. |
protected RuleEventListenerSupport |
ruleEventListenerSupport |
protected WorkingMemoryEventSupport |
workingMemoryEventSupport
The eventSupport
|
Constructor and Description |
---|
AbstractWorkingMemory() |
AbstractWorkingMemory(int id,
InternalRuleBase ruleBase) |
AbstractWorkingMemory(int id,
InternalRuleBase ruleBase,
boolean initInitFactHandle,
SessionConfiguration config,
org.kie.api.runtime.Environment environment)
Construct.
|
AbstractWorkingMemory(int id,
InternalRuleBase ruleBase,
FactHandleFactory handleFactory,
boolean initInitFactHandle,
long propagationContext,
SessionConfiguration config,
org.kie.api.runtime.Environment environment,
WorkingMemoryEventSupport workingMemoryEventSupport,
AgendaEventSupport agendaEventSupport,
RuleEventListenerSupport ruleEventListenerSupport,
InternalAgenda agenda) |
AbstractWorkingMemory(int id,
InternalRuleBase ruleBase,
FactHandleFactory handleFactory,
InternalFactHandle initialFactHandle,
long propagationContext,
SessionConfiguration config,
InternalAgenda agenda,
org.kie.api.runtime.Environment environment) |
Modifier and Type | Method and Description |
---|---|
void |
activationFired()
This method is called by the agenda right after an activation was fired
to allow the working memory to resume any activities blocked during
activation firing.
|
void |
addEventListener(AgendaEventListener listener)
Add an event listener.
|
void |
addEventListener(org.kie.api.event.process.ProcessEventListener listener) |
void |
addEventListener(RuleBaseEventListener listener)
Add an event listener.
|
void |
addEventListener(org.kie.internal.event.rule.RuleEventListener listener) |
void |
addEventListener(WorkingMemoryEventListener listener)
Add an event listener.
|
void |
clearActivationGroup(String group)
Clears the Activation Group, cancellings all its Activations
|
void |
clearAgenda()
Clear the Agenda.
|
void |
clearAgendaGroup(String group)
Clear the Agenda Group, cancelling all its Activations.
|
void |
clearNodeMemory(MemoryFactory node) |
void |
clearRuleFlowGroup(String group)
Clears the RuleFlow group, cancelling all its Activations
|
void |
closeLiveQuery(InternalFactHandle factHandle) |
org.kie.api.runtime.process.ProcessInstance |
createProcessInstance(String processId,
org.kie.internal.process.CorrelationKey correlationKey,
Map<String,Object> parameters) |
org.kie.api.runtime.process.ProcessInstance |
createProcessInstance(String processId,
Map<String,Object> parameters) |
void |
delete(org.kie.api.runtime.rule.FactHandle handle) |
void |
delete(FactHandle factHandle,
Rule rule,
Activation activation) |
void |
dispose()
Internal method called by the engine when the session is being disposed, so that the entry point
can proceed with the necessary clean ups.
|
void |
endBatchExecution() |
void |
endOperation()
This method must be called after finishing any work in the engine,
like inserting a new fact or firing a new rule.
|
void |
executeQueuedActions() |
int |
fireAllRules()
Fire all items on the agenda until empty.
|
int |
fireAllRules(AgendaFilter agendaFilter)
Fire all items on the agenda until empty, using the given AgendaFiler
|
int |
fireAllRules(AgendaFilter agendaFilter,
int fireLimit)
Fire all items on the agenda using the given AgendaFiler
until empty or at most 'fireLimit' rules have fired
|
int |
fireAllRules(int fireLimit)
Fire all items on the agenda until empty or at most 'fireLimit' rules have fired
|
void |
fireUntilHalt()
Keeps firing activations until a halt is called.
|
void |
fireUntilHalt(AgendaFilter agendaFilter)
Keeps firing activations until a halt is called.
|
Queue<WorkingMemoryAction> |
getActionQueue() |
Map |
getActivationParameters(Activation activation)
Helper method
|
Map.Entry[] |
getActivationParameters(long activationId) |
Agenda |
getAgenda()
Returns the Agenda for this WorkingMemory.
|
List |
getAgendaEventListeners()
Returns all event listeners.
|
AgendaEventSupport |
getAgendaEventSupport() |
org.kie.api.runtime.Calendars |
getCalendars() |
Map<String,org.kie.api.runtime.Channel> |
getChannels()
Returns a map of channel Id->Channel of all channels in
this working memory
|
DateFormats |
getDateFormats() |
EntryPointId |
getEntryPoint() |
String |
getEntryPointId() |
EntryPointNode |
getEntryPointNode() |
Map<String,WorkingMemoryEntryPoint> |
getEntryPoints() |
org.kie.api.runtime.Environment |
getEnvironment() |
ExecutionResultImpl |
getExecutionResult() |
long |
getFactCount() |
FactHandle |
getFactHandle(Object object)
Retrieve the
FactHandle associated with an Object. |
FactHandle |
getFactHandleByIdentity(Object object)
Looks for the fact handle associated to the given object
by looking up the object IDENTITY (==), even if rule base
is configured to AssertBehavior.EQUALITY.
|
FactHandleFactory |
getFactHandleFactory() |
<T extends org.kie.api.runtime.rule.FactHandle> |
getFactHandles() |
<T extends org.kie.api.runtime.rule.FactHandle> |
getFactHandles(org.kie.api.runtime.ObjectFilter filter) |
Object |
getGlobal(String identifier)
Retrieve a specific instance of global data by identifier
|
GlobalResolver |
getGlobalResolver()
Returns the current GlobalResolver
|
int |
getId() |
long |
getIdleTime()
Returns the number of time units (usually ms) that the engine is idle
according to the session clock or -1 if it is not idle.
|
InternalFactHandle |
getInitialFactHandle() |
InternalWorkingMemory |
getInternalWorkingMemory() |
InternalKnowledgeRuntime |
getKnowledgeRuntime() |
long |
getLastIdleTimestamp() |
Lock |
getLock() |
long |
getNextPropagationIdCounter() |
NodeMemories |
getNodeMemories() |
Memory |
getNodeMemory(MemoryFactory node)
Retrieve the
JoinMemory for a particular
JoinNode . |
Object |
getObject(org.kie.api.runtime.rule.FactHandle handle)
Returns the fact Object for the given
FactHandle . |
org.kie.api.marshalling.ObjectMarshallingStrategyStore |
getObjectMarshallingStrategyStore() |
Collection<? extends Object> |
getObjects() |
Collection<? extends Object> |
getObjects(org.kie.api.runtime.ObjectFilter filter) |
ObjectStore |
getObjectStore() |
ObjectTypeConfigurationRegistry |
getObjectTypeConfigurationRegistry() |
Collection<org.kie.api.event.process.ProcessEventListener> |
getProcessEventListeners() |
org.kie.api.runtime.process.ProcessInstance |
getProcessInstance(org.kie.internal.process.CorrelationKey correlationKey) |
org.kie.api.runtime.process.ProcessInstance |
getProcessInstance(long processInstanceId)
Returns the process instance with the given id.
|
org.kie.api.runtime.process.ProcessInstance |
getProcessInstance(long processInstanceId,
boolean readOnly) |
Collection<org.kie.api.runtime.process.ProcessInstance> |
getProcessInstances()
Returns the list of process instances of this working memory.
|
InternalProcessRuntime |
getProcessRuntime() |
long |
getPropagationIdCounter() |
QueryResults |
getQueryResults(String query) |
QueryResults |
getQueryResults(String queryName,
Object[] arguments)
Retrieve the QueryResults of the specified query and arguments
|
RuleBase |
getRuleBase()
Retrieve the
RuleBase for this working memory. |
List |
getRuleBaseEventListeners()
Returns all event listeners.
|
List |
getRuleBaseUpdateListeners() |
List |
getRuleEventListeners() |
org.kie.api.time.SessionClock |
getSessionClock()
Returns the session clock instance associated with this session
|
SessionConfiguration |
getSessionConfiguration() |
TimerService |
getTimerService()
Returns the TimerService instance (session clock) for this
session.
|
long |
getTimeToNextJob()
Returns the number of time units (usually ms) to
the next scheduled job
|
long |
getTotalFactCount()
Returns the total number of facts in the working memory, i.e., counting
all facts from all entry points.
|
WorkingMemoryEntryPoint |
getWorkingMemoryEntryPoint(String name)
Returns the interface instance for a given entry point, so
that the application can manage entry-point-scoped facts.
|
Collection<WorkingMemoryEntryPoint> |
getWorkingMemoryEntryPoints() |
List |
getWorkingMemoryEventListeners()
Returns all event listeners.
|
WorkingMemoryEventSupport |
getWorkingMemoryEventSupport() |
org.kie.api.runtime.process.WorkItemManager |
getWorkItemManager() |
void |
halt()
Stops rule firing after the current rule finishes executing
|
void |
initInitialFact(InternalRuleBase ruleBase,
MarshallerReaderContext context) |
void |
insert(InternalFactHandle handle,
Object object,
Rule rule,
Activation activation,
ObjectTypeConf typeConf) |
FactHandle |
insert(Object object)
Assert a fact.
|
FactHandle |
insert(Object object,
boolean dynamic)
Insert a fact registering JavaBean
PropertyChangeListeners
on the Object to automatically trigger update calls
if dynamic is true . |
FactHandle |
insert(Object object,
Object tmsValue,
boolean dynamic,
boolean logical,
Rule rule,
Activation activation) |
FactHandle |
insertLogical(Object object) |
FactHandle |
insertLogical(Object object,
boolean dynamic) |
FactHandle |
insertLogical(Object object,
Object value) |
boolean |
isSequential() |
Iterator |
iterateFactHandles()
This class is not thread safe, changes to the working memory during
iteration may give unexpected results
|
Iterator |
iterateFactHandles(org.kie.api.runtime.ObjectFilter filter)
This class is not thread safe, changes to the working memory during
iteration may give unexpected results
|
List |
iterateNonDefaultEntryPointObjectsToList() |
Iterator |
iterateObjects()
This class is not thread safe, changes to the working memory during
iteration may give unexpected results
|
Iterator |
iterateObjects(org.kie.api.runtime.ObjectFilter filter)
This class is not thread safe, changes to the working memory during
iteration may give unexpected results
|
List |
iterateObjectsToList() |
org.kie.api.runtime.rule.LiveQuery |
openLiveQuery(String query,
Object[] arguments,
org.kie.api.runtime.rule.ViewChangedEventListener listener) |
void |
prepareToFireActivation()
This method is called by the agenda before firing a new activation
to ensure the working memory is in a safe state to fire the activation.
|
void |
queueWorkingMemoryAction(WorkingMemoryAction action) |
void |
readExternal(ObjectInput in) |
void |
registerChannel(String name,
org.kie.api.runtime.Channel channel) |
void |
removeEventListener(AgendaEventListener listener)
Remove an event listener.
|
void |
removeEventListener(org.kie.api.event.process.ProcessEventListener listener) |
void |
removeEventListener(RuleBaseEventListener listener)
Remove an event listener.
|
void |
removeEventListener(org.kie.internal.event.rule.RuleEventListener listener) |
void |
removeEventListener(WorkingMemoryEventListener listener)
Remove an event listener.
|
void |
reset() |
void |
reset(int handleId,
long handleCounter,
long propagationCounter) |
void |
retract(org.kie.api.runtime.rule.FactHandle handle)
Retract a fact.
|
void |
setAgendaEventSupport(AgendaEventSupport agendaEventSupport) |
void |
setAsyncExceptionHandler(AsyncExceptionHandler handler)
Sets the AsyncExceptionHandler to handle exceptions thrown by the Agenda
Scheduler used for duration rules.
|
void |
setEndOperationListener(EndOperationListener listener) |
void |
setFocus(String focus)
Set the focus to the specified AgendaGroup
|
void |
setGlobal(String identifier,
Object value)
Set a specific instance as a global in this working memory.
|
void |
setGlobalResolver(GlobalResolver globalResolver)
Sets the GlobalResolver instance to be used when resolving globals, replaces the current GlobalResolver.
|
void |
setId(int id) |
void |
setInitialFactHandle(InternalFactHandle initialFactHandle) |
void |
setKnowledgeRuntime(InternalKnowledgeRuntime kruntime) |
void |
setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport) |
void |
startBatchExecution(ExecutionResultImpl results) |
void |
startOperation()
This method must be called before starting any new work in the engine,
like inserting a new fact or firing a new rule.
|
org.kie.api.runtime.process.ProcessInstance |
startProcess(String processId)
Starts a new process instance for the process with the given id.
|
org.kie.api.runtime.process.ProcessInstance |
startProcess(String processId,
org.kie.internal.process.CorrelationKey correlationKey,
Map<String,Object> parameters) |
org.kie.api.runtime.process.ProcessInstance |
startProcess(String processId,
Map<String,Object> parameters)
Starts a new process instance for the process with the given id.
|
org.kie.api.runtime.process.ProcessInstance |
startProcessInstance(long processInstanceId) |
void |
unregisterChannel(String name) |
void |
update(org.kie.api.runtime.rule.FactHandle handle,
Object object)
Inform the WorkingMemory that a Fact has been modified and that it
should now update the network.
|
void |
update(org.kie.api.runtime.rule.FactHandle factHandle,
Object object,
long mask,
Class<?> modifiedClass,
Activation activation) |
void |
update(FactHandle factHandle,
Object object,
long mask,
Class<?> modifiedClass,
Activation activation)
modify is implemented as half way retract / assert due to the truth
maintenance issues.
|
void |
updateEntryPointsCache() |
void |
writeExternal(ObjectOutput out) |
public byte[] bytes
protected int id
protected NamedEntryPoint defaultEntryPoint
protected GlobalResolver globalResolver
protected org.kie.api.runtime.Calendars calendars
protected DateFormats dateFormats
protected WorkingMemoryEventSupport workingMemoryEventSupport
protected RuleEventListenerSupport ruleEventListenerSupport
protected AgendaEventSupport agendaEventSupport
protected List __ruleBaseEventListeners
protected transient InternalRuleBase ruleBase
RuleBase
with which this memory is associated.protected FactHandleFactory handleFactory
protected InternalAgenda agenda
protected AtomicBoolean evaluatingActionQueue
protected ReentrantLock lock
protected AtomicLong propagationIdCounter
protected volatile AtomicBoolean firing
protected Map<String,WorkingMemoryEntryPoint> entryPoints
protected volatile InternalFactHandle initialFactHandle
protected PropagationContextFactory pctxFactory
protected SessionConfiguration config
public AbstractWorkingMemory()
public AbstractWorkingMemory(int id, InternalRuleBase ruleBase)
public AbstractWorkingMemory(int id, InternalRuleBase ruleBase, boolean initInitFactHandle, SessionConfiguration config, org.kie.api.runtime.Environment environment)
ruleBase
- The backing rule-base.public AbstractWorkingMemory(int id, InternalRuleBase ruleBase, FactHandleFactory handleFactory, InternalFactHandle initialFactHandle, long propagationContext, SessionConfiguration config, InternalAgenda agenda, org.kie.api.runtime.Environment environment)
public AbstractWorkingMemory(int id, InternalRuleBase ruleBase, FactHandleFactory handleFactory, boolean initInitFactHandle, long propagationContext, SessionConfiguration config, org.kie.api.runtime.Environment environment, WorkingMemoryEventSupport workingMemoryEventSupport, AgendaEventSupport agendaEventSupport, RuleEventListenerSupport ruleEventListenerSupport, InternalAgenda agenda)
public void initInitialFact(InternalRuleBase ruleBase, MarshallerReaderContext context)
public String getEntryPointId()
getEntryPointId
in interface org.kie.api.runtime.rule.EntryPoint
public QueryResults getQueryResults(String queryName, Object[] arguments)
WorkingMemory
getQueryResults
in interface WorkingMemory
queryName
- The name of the query.arguments
- The arguments used for the querypublic org.kie.api.runtime.rule.LiveQuery openLiveQuery(String query, Object[] arguments, org.kie.api.runtime.rule.ViewChangedEventListener listener)
openLiveQuery
in interface ReteooWorkingMemoryInterface
public void closeLiveQuery(InternalFactHandle factHandle)
closeLiveQuery
in interface InternalWorkingMemory
public EntryPointId getEntryPoint()
getEntryPoint
in interface InternalWorkingMemory
getEntryPoint
in interface InternalWorkingMemoryEntryPoint
public InternalWorkingMemory getInternalWorkingMemory()
getInternalWorkingMemory
in interface InternalWorkingMemoryEntryPoint
public <T extends org.kie.api.runtime.rule.FactHandle> Collection<T> getFactHandles()
getFactHandles
in interface org.kie.api.runtime.rule.EntryPoint
public <T extends org.kie.api.runtime.rule.FactHandle> Collection<T> getFactHandles(org.kie.api.runtime.ObjectFilter filter)
getFactHandles
in interface org.kie.api.runtime.rule.EntryPoint
public Collection<? extends Object> getObjects()
getObjects
in interface org.kie.api.runtime.rule.EntryPoint
public Collection<? extends Object> getObjects(org.kie.api.runtime.ObjectFilter filter)
getObjects
in interface org.kie.api.runtime.rule.EntryPoint
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public List getRuleBaseUpdateListeners()
getRuleBaseUpdateListeners
in interface StatefulSession
public void updateEntryPointsCache()
updateEntryPointsCache
in interface InternalWorkingMemory
public SessionConfiguration getSessionConfiguration()
getSessionConfiguration
in interface InternalWorkingMemory
public void reset()
reset
in interface InternalWorkingMemoryEntryPoint
public void reset(int handleId, long handleCounter, long propagationCounter)
public void setWorkingMemoryEventSupport(WorkingMemoryEventSupport workingMemoryEventSupport)
setWorkingMemoryEventSupport
in interface InternalWorkingMemory
public void setAgendaEventSupport(AgendaEventSupport agendaEventSupport)
setAgendaEventSupport
in interface InternalWorkingMemory
public boolean isSequential()
isSequential
in interface InternalWorkingMemory
public void addEventListener(WorkingMemoryEventListener listener)
WorkingMemoryEventManager
addEventListener
in interface WorkingMemoryEventManager
listener
- The listener to add.public void removeEventListener(WorkingMemoryEventListener listener)
WorkingMemoryEventManager
removeEventListener
in interface WorkingMemoryEventManager
listener
- The listener to remove.public List getWorkingMemoryEventListeners()
WorkingMemoryEventManager
getWorkingMemoryEventListeners
in interface EventSupport
getWorkingMemoryEventListeners
in interface WorkingMemoryEventManager
public void addEventListener(AgendaEventListener listener)
WorkingMemoryEventManager
addEventListener
in interface WorkingMemoryEventManager
listener
- The listener to add.public void removeEventListener(AgendaEventListener listener)
WorkingMemoryEventManager
removeEventListener
in interface WorkingMemoryEventManager
listener
- The listener to remove.public List getAgendaEventListeners()
WorkingMemoryEventManager
getAgendaEventListeners
in interface EventSupport
getAgendaEventListeners
in interface WorkingMemoryEventManager
public void addEventListener(RuleBaseEventListener listener)
RuleBaseEventManager
addEventListener
in interface RuleBaseEventManager
listener
- The listener to add.public List getRuleBaseEventListeners()
RuleBaseEventManager
getRuleBaseEventListeners
in interface RuleBaseEventManager
public void removeEventListener(RuleBaseEventListener listener)
RuleBaseEventManager
removeEventListener
in interface RuleBaseEventManager
listener
- The listener to remove.public void addEventListener(org.kie.api.event.process.ProcessEventListener listener)
addEventListener
in interface org.kie.api.event.process.ProcessEventManager
public Collection<org.kie.api.event.process.ProcessEventListener> getProcessEventListeners()
getProcessEventListeners
in interface org.kie.api.event.process.ProcessEventManager
public void removeEventListener(org.kie.api.event.process.ProcessEventListener listener)
removeEventListener
in interface org.kie.api.event.process.ProcessEventManager
public void addEventListener(org.kie.internal.event.rule.RuleEventListener listener)
public void removeEventListener(org.kie.internal.event.rule.RuleEventListener listener)
public List getRuleEventListeners()
public FactHandleFactory getFactHandleFactory()
getFactHandleFactory
in interface InternalWorkingMemory
public void setGlobal(String identifier, Object value)
WorkingMemory
setGlobal
in interface WorkingMemory
identifier
- the identifier under which to populate the datavalue
- the global value, cannot be nullpublic void setGlobalResolver(GlobalResolver globalResolver)
WorkingMemory
setGlobalResolver
in interface WorkingMemory
public GlobalResolver getGlobalResolver()
WorkingMemory
getGlobalResolver
in interface WorkingMemory
public org.kie.api.runtime.Calendars getCalendars()
getCalendars
in interface InternalWorkingMemory
public DateFormats getDateFormats()
getDateFormats
in interface InternalWorkingMemory
public int getId()
getId
in interface InternalWorkingMemory
public void setId(int id)
setId
in interface InternalWorkingMemory
public Object getGlobal(String identifier)
WorkingMemory
getGlobal
in interface WorkingMemory
public org.kie.api.runtime.Environment getEnvironment()
getEnvironment
in interface WorkingMemory
public Agenda getAgenda()
WorkingMemory
getAgenda
in interface WorkingMemory
public void clearAgenda()
WorkingMemory
clearAgenda
in interface WorkingMemory
public void clearAgendaGroup(String group)
WorkingMemory
clearAgendaGroup
in interface WorkingMemory
public void clearActivationGroup(String group)
WorkingMemory
clearActivationGroup
in interface WorkingMemory
public void clearRuleFlowGroup(String group)
WorkingMemory
clearRuleFlowGroup
in interface WorkingMemory
public RuleBase getRuleBase()
WorkingMemory
RuleBase
for this working memory.getRuleBase
in interface InternalWorkingMemoryEntryPoint
getRuleBase
in interface WorkingMemory
RuleBase
.public void halt()
WorkingMemory
halt
in interface WorkingMemory
public int fireAllRules() throws FactException
WorkingMemory
fireAllRules
in interface WorkingMemory
FactException
- If a RuntimeException error occurs.public int fireAllRules(int fireLimit) throws FactException
WorkingMemory
fireAllRules
in interface WorkingMemory
FactException
- If a RuntimeException error occurs.public int fireAllRules(AgendaFilter agendaFilter) throws FactException
WorkingMemory
fireAllRules
in interface WorkingMemory
FactException
- If a RuntimeException error occurs.public int fireAllRules(AgendaFilter agendaFilter, int fireLimit) throws FactException
WorkingMemory
fireAllRules
in interface WorkingMemory
FactException
- If a RuntimeException error occurs.public void fireUntilHalt()
fireUntilHalt
in interface ReteooWorkingMemoryInterface
fireUntilHalt
in interface StatefulSession
IllegalStateException
- if this method is called when running in sequential modepublic void fireUntilHalt(AgendaFilter agendaFilter)
fireUntilHalt
in interface ReteooWorkingMemoryInterface
fireUntilHalt
in interface StatefulSession
agendaFilter
- filters the activations that may fireIllegalStateException
- if this method is called when running in sequential modepublic Object getObject(org.kie.api.runtime.rule.FactHandle handle)
FactHandle
. It
actually attempts to return the value from the handle, before retrieving
it from objects map.getObject
in interface WorkingMemory
getObject
in interface org.kie.api.runtime.rule.EntryPoint
handle
- The FactHandle
reference for the
Object
lookupWorkingMemory
public ObjectStore getObjectStore()
getObjectStore
in interface InternalWorkingMemory
getObjectStore
in interface InternalWorkingMemoryEntryPoint
public FactHandle getFactHandle(Object object)
WorkingMemory
FactHandle
associated with an Object.getFactHandle
in interface WorkingMemory
getFactHandle
in interface org.kie.api.runtime.rule.EntryPoint
object
- The object.WorkingMemory
public FactHandle getFactHandleByIdentity(Object object)
InternalWorkingMemory
getFactHandleByIdentity
in interface InternalWorkingMemory
getFactHandleByIdentity
in interface InternalWorkingMemoryEntryPoint
getFactHandleByIdentity
in interface WorkingMemory
WorkingMemory
public Iterator iterateObjects()
iterateObjects
in interface WorkingMemory
public Iterator iterateObjects(org.kie.api.runtime.ObjectFilter filter)
iterateObjects
in interface WorkingMemory
public Iterator iterateFactHandles()
iterateFactHandles
in interface WorkingMemory
public Iterator iterateFactHandles(org.kie.api.runtime.ObjectFilter filter)
iterateFactHandles
in interface WorkingMemory
public QueryResults getQueryResults(String query)
public void setFocus(String focus)
WorkingMemory
setFocus
in interface WorkingMemory
public FactHandle insert(Object object) throws FactException
WorkingMemoryEntryPoint
insert
in interface WorkingMemoryEntryPoint
insert
in interface org.kie.api.runtime.rule.EntryPoint
object
- The fact object.FactException
- If a RuntimeException error occurs.WorkingMemory
public FactHandle insertLogical(Object object) throws FactException
FactException
WorkingMemory
public FactHandle insert(Object object, boolean dynamic) throws FactException
WorkingMemoryEntryPoint
PropertyChangeListeners
on the Object to automatically trigger update
calls
if dynamic
is true
.insert
in interface WorkingMemoryEntryPoint
object
- The fact object.dynamic
- true if Drools should add JavaBean
PropertyChangeListeners
to the object.FactException
- If a RuntimeException error occurs.public FactHandle insertLogical(Object object, boolean dynamic) throws FactException
insertLogical
in interface InternalWorkingMemoryActions
FactException
public FactHandle insertLogical(Object object, Object value) throws FactException
FactException
public FactHandle insert(Object object, Object tmsValue, boolean dynamic, boolean logical, Rule rule, Activation activation) throws FactException
insert
in interface InternalWorkingMemoryActions
FactException
public void insert(InternalFactHandle handle, Object object, Rule rule, Activation activation, ObjectTypeConf typeConf)
insert
in interface InternalWorkingMemory
public void retract(org.kie.api.runtime.rule.FactHandle handle) throws FactException
WorkingMemoryEntryPoint
retract
in interface WorkingMemoryEntryPoint
retract
in interface org.kie.api.runtime.rule.EntryPoint
handle
- The fact-handle associated with the fact to retract.FactException
- If a RuntimeException error occurs.public void delete(org.kie.api.runtime.rule.FactHandle handle) throws FactException
delete
in interface org.kie.api.runtime.rule.EntryPoint
FactException
public void delete(FactHandle factHandle, Rule rule, Activation activation) throws FactException
delete
in interface InternalWorkingMemory
delete
in interface InternalWorkingMemoryActions
delete
in interface InternalWorkingMemoryEntryPoint
FactException
public EntryPointNode getEntryPointNode()
getEntryPointNode
in interface InternalWorkingMemory
getEntryPointNode
in interface InternalWorkingMemoryEntryPoint
public void update(org.kie.api.runtime.rule.FactHandle handle, Object object) throws FactException
WorkingMemoryEntryPoint
update
in interface WorkingMemoryEntryPoint
update
in interface org.kie.api.runtime.rule.EntryPoint
handle
- The fact-handle associated with the fact to modify.object
- The new value of the fact.FactException
- If a RuntimeException error occurs.public void update(org.kie.api.runtime.rule.FactHandle factHandle, Object object, long mask, Class<?> modifiedClass, Activation activation) throws FactException
update
in interface InternalWorkingMemoryEntryPoint
FactException
public void update(FactHandle factHandle, Object object, long mask, Class<?> modifiedClass, Activation activation) throws FactException
update
in interface InternalWorkingMemoryActions
FactException
WorkingMemory
public void executeQueuedActions()
executeQueuedActions
in interface InternalWorkingMemory
public Queue<WorkingMemoryAction> getActionQueue()
getActionQueue
in interface ReteooWorkingMemoryInterface
public void queueWorkingMemoryAction(WorkingMemoryAction action)
queueWorkingMemoryAction
in interface InternalWorkingMemory
public Memory getNodeMemory(MemoryFactory node)
JoinMemory
for a particular
JoinNode
.getNodeMemory
in interface InternalWorkingMemory
node
- The JoinNode
key.public void clearNodeMemory(MemoryFactory node)
clearNodeMemory
in interface InternalWorkingMemory
public NodeMemories getNodeMemories()
getNodeMemories
in interface InternalWorkingMemory
public WorkingMemoryEventSupport getWorkingMemoryEventSupport()
getWorkingMemoryEventSupport
in interface EventSupport
public AgendaEventSupport getAgendaEventSupport()
getAgendaEventSupport
in interface EventSupport
public void setAsyncExceptionHandler(AsyncExceptionHandler handler)
setAsyncExceptionHandler
in interface WorkingMemory
handler
- public long getNextPropagationIdCounter()
getNextPropagationIdCounter
in interface InternalWorkingMemory
public long getPropagationIdCounter()
public Lock getLock()
getLock
in interface InternalWorkingMemory
public InternalProcessRuntime getProcessRuntime()
getProcessRuntime
in interface InternalWorkingMemory
public org.kie.api.runtime.process.ProcessInstance startProcess(String processId)
WorkingMemory
startProcess
in interface WorkingMemory
public org.kie.api.runtime.process.ProcessInstance startProcess(String processId, Map<String,Object> parameters)
WorkingMemory
startProcess
in interface WorkingMemory
public org.kie.api.runtime.process.ProcessInstance createProcessInstance(String processId, Map<String,Object> parameters)
createProcessInstance
in interface ReteooWorkingMemoryInterface
public org.kie.api.runtime.process.ProcessInstance startProcessInstance(long processInstanceId)
startProcessInstance
in interface ReteooWorkingMemoryInterface
public Collection<org.kie.api.runtime.process.ProcessInstance> getProcessInstances()
WorkingMemory
getProcessInstances
in interface WorkingMemory
public org.kie.api.runtime.process.ProcessInstance getProcessInstance(long processInstanceId)
WorkingMemory
getProcessInstance
in interface WorkingMemory
public org.kie.api.runtime.process.ProcessInstance startProcess(String processId, org.kie.internal.process.CorrelationKey correlationKey, Map<String,Object> parameters)
startProcess
in interface org.kie.internal.process.CorrelationAwareProcessRuntime
public org.kie.api.runtime.process.ProcessInstance createProcessInstance(String processId, org.kie.internal.process.CorrelationKey correlationKey, Map<String,Object> parameters)
createProcessInstance
in interface org.kie.internal.process.CorrelationAwareProcessRuntime
public org.kie.api.runtime.process.ProcessInstance getProcessInstance(org.kie.internal.process.CorrelationKey correlationKey)
getProcessInstance
in interface org.kie.internal.process.CorrelationAwareProcessRuntime
public org.kie.api.runtime.process.ProcessInstance getProcessInstance(long processInstanceId, boolean readOnly)
getProcessInstance
in interface WorkingMemory
public org.kie.api.runtime.process.WorkItemManager getWorkItemManager()
getWorkItemManager
in interface WorkingMemory
public List iterateObjectsToList()
public List iterateNonDefaultEntryPointObjectsToList()
public Map.Entry[] getActivationParameters(long activationId)
public Map getActivationParameters(Activation activation)
public WorkingMemoryEntryPoint getWorkingMemoryEntryPoint(String name)
WorkingMemory
getWorkingMemoryEntryPoint
in interface WorkingMemory
getWorkingMemoryEntryPoint
in interface WorkingMemoryEntryPoint
name
- the id of the entry point, as defined in the rules filepublic Collection<WorkingMemoryEntryPoint> getWorkingMemoryEntryPoints()
getWorkingMemoryEntryPoints
in interface ReteooWorkingMemoryInterface
public ObjectTypeConfigurationRegistry getObjectTypeConfigurationRegistry()
getObjectTypeConfigurationRegistry
in interface InternalWorkingMemory
getObjectTypeConfigurationRegistry
in interface InternalWorkingMemoryEntryPoint
public InternalFactHandle getInitialFactHandle()
getInitialFactHandle
in interface InternalWorkingMemory
public void setInitialFactHandle(InternalFactHandle initialFactHandle)
public TimerService getTimerService()
InternalWorkingMemory
getTimerService
in interface InternalWorkingMemory
public org.kie.api.time.SessionClock getSessionClock()
WorkingMemory
getSessionClock
in interface WorkingMemory
public void startBatchExecution(ExecutionResultImpl results)
startBatchExecution
in interface InternalWorkingMemory
public ExecutionResultImpl getExecutionResult()
getExecutionResult
in interface InternalWorkingMemory
public void endBatchExecution()
endBatchExecution
in interface InternalWorkingMemory
public void dispose()
WorkingMemoryEntryPoint
dispose
in interface StatefulSession
dispose
in interface WorkingMemoryEntryPoint
public void setKnowledgeRuntime(InternalKnowledgeRuntime kruntime)
setKnowledgeRuntime
in interface InternalWorkingMemory
public InternalKnowledgeRuntime getKnowledgeRuntime()
getKnowledgeRuntime
in interface InternalWorkingMemory
public void registerChannel(String name, org.kie.api.runtime.Channel channel)
registerChannel
in interface ReteooWorkingMemoryInterface
public void unregisterChannel(String name)
unregisterChannel
in interface ReteooWorkingMemoryInterface
public Map<String,org.kie.api.runtime.Channel> getChannels()
InternalWorkingMemory
getChannels
in interface InternalWorkingMemory
public Map<String,WorkingMemoryEntryPoint> getEntryPoints()
getEntryPoints
in interface InternalWorkingMemory
public long getFactCount()
getFactCount
in interface org.kie.api.runtime.rule.EntryPoint
public long getTotalFactCount()
InternalWorkingMemory
getTotalFactCount
in interface InternalWorkingMemory
public void startOperation()
startOperation
in interface InternalWorkingMemory
public void setEndOperationListener(EndOperationListener listener)
setEndOperationListener
in interface ReteooWorkingMemoryInterface
public void endOperation()
endOperation
in interface InternalWorkingMemory
public long getIdleTime()
getIdleTime
in interface InternalWorkingMemory
public long getLastIdleTimestamp()
getLastIdleTimestamp
in interface ReteooWorkingMemoryInterface
public void prepareToFireActivation()
InternalWorkingMemory
prepareToFireActivation
in interface InternalWorkingMemory
public void activationFired()
InternalWorkingMemory
activationFired
in interface InternalWorkingMemory
public long getTimeToNextJob()
getTimeToNextJob
in interface InternalWorkingMemory
public org.kie.api.marshalling.ObjectMarshallingStrategyStore getObjectMarshallingStrategyStore()
Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.