org.drools
Interface WorkingMemory

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
MockWorkingMemory

public interface WorkingMemory
extends java.io.Serializable

A knowledge session for a RuleBase.

 

Method Summary
 void addEventListener(WorkingMemoryEventListener listener)
          Add an event listener.
 FactHandle assertObject(java.lang.Object object)
          Assert a fact.
 FactHandle assertObject(java.lang.Object object, boolean dynamic)
          Assert a fact registering JavaBean PropertyChangeListeners on the Object to automatically trigger modifyObject calls if dynamic is true.
 void clearAgenda()
          Clear the Agenda
 boolean containsObject(FactHandle handle)
          Determine if an object is associated with a FactHandle.
 void fireAllRules()
          Fire all items on the agenda until empty.
 void fireAllRules(AgendaFilter agendaFilter)
          Fire all items on the agenda until empty, using the given AgendaFiler
 java.lang.Object getApplicationData(java.lang.String name)
          Retrieve a specific piece of application data by name
 java.util.Map getApplicationDataMap()
          Retrieve all of the set application data in this memory
 java.util.List getEventListeners()
          Returns all event listeners.
 FactHandle getFactHandle(java.lang.Object object)
          Retrieve the FactHandle associated with an Object.
 java.util.List getFactHandles()
          Retrieve all known Fact Handles.
 java.lang.Object getObject(FactHandle handle)
          Retrieve the object associated with a FactHandle.
 java.util.List getObjects()
          Retrieve all known objects.
 java.util.List getObjects(java.lang.Class objectClass)
          Retrieve all known objects of the specified class.
 RuleBase getRuleBase()
          Retrieve the RuleBase of this working memory.
 void modifyObject(FactHandle handle, java.lang.Object object)
          Modify a fact.
 void removeEventListener(WorkingMemoryEventListener listener)
          Remove an event listener.
 void retractObject(FactHandle handle)
          Retract a fact.
 void setApplicationData(java.lang.String name, java.lang.Object value)
          Set a specific piece of application data in this working memory
 

Method Detail

addEventListener

public void addEventListener(WorkingMemoryEventListener listener)
Add an event listener.

Parameters:
listener - The listener to add.

removeEventListener

public void removeEventListener(WorkingMemoryEventListener listener)
Remove an event listener.

Parameters:
listener - The listener to remove.

getEventListeners

public java.util.List getEventListeners()
Returns all event listeners.

Returns:
listeners The listeners.

getApplicationDataMap

public java.util.Map getApplicationDataMap()
Retrieve all of the set application data in this memory

Returns:
the application data as a Map

setApplicationData

public void setApplicationData(java.lang.String name,
                               java.lang.Object value)
Set a specific piece of application data in this working memory

Parameters:
name - the name under which to populate the data
value - the application data

getApplicationData

public java.lang.Object getApplicationData(java.lang.String name)
Retrieve a specific piece of application data by name

Returns:
application data or null if nothing is set under this name

getRuleBase

public RuleBase getRuleBase()
Retrieve the RuleBase of this working memory.

Returns:
The RuleBase.

fireAllRules

public void fireAllRules()
                  throws FactException
Fire all items on the agenda until empty.

Throws:
FactException - If an error occurs.

fireAllRules

public void fireAllRules(AgendaFilter agendaFilter)
                  throws FactException
Fire all items on the agenda until empty, using the given AgendaFiler

Throws:
FactException - If an error occurs.

getObject

public java.lang.Object getObject(FactHandle handle)
                           throws NoSuchFactObjectException
Retrieve the object associated with a FactHandle.

Throws:
NoSuchFactObjectException - If no object is known to be associated with the specified handle.
Parameters:
handle - The fact handle.
Returns:
The associated object.
See Also:
WorkingMemory.containsObject(org.drools.FactHandle)

getFactHandle

public FactHandle getFactHandle(java.lang.Object object)
                         throws NoSuchFactHandleException
Retrieve the FactHandle associated with an Object.

Throws:
NoSuchFactHandleException - If no handle is known to be associated with the specified object.
Parameters:
object - The object.
Returns:
The associated fact handle.
See Also:
WorkingMemory.containsObject(org.drools.FactHandle)

getObjects

public java.util.List getObjects()
Retrieve all known objects.

Returns:
The list of all known objects.

getObjects

public java.util.List getObjects(java.lang.Class objectClass)
Retrieve all known objects of the specified class.

Parameters:
objectClass - The class of object to return.
Returns:
The list of all known objects of the specified class.

getFactHandles

public java.util.List getFactHandles()
Retrieve all known Fact Handles.

Returns:
The list of all known fact handles.

containsObject

public boolean containsObject(FactHandle handle)
Determine if an object is associated with a FactHandle.

Parameters:
handle - The fact handle.
Returns:
true if an object is known to be associated with the specified handle, otherwise false.

assertObject

public FactHandle assertObject(java.lang.Object object)
                        throws FactException
Assert a fact.

Throws:
FactException - If an error occurs.
Parameters:
object - The fact object.
Returns:
The new fact-handle associated with the object.

assertObject

public FactHandle assertObject(java.lang.Object object,
                               boolean dynamic)
                        throws FactException
Assert a fact registering JavaBean PropertyChangeListeners on the Object to automatically trigger modifyObject calls if dynamic is true.

Throws:
FactException - If an error occurs.
Parameters:
object - The fact object.
dynamic - true if Drools should add JavaBean PropertyChangeListeners to the object.
Returns:
The new fact-handle associated with the object.

retractObject

public void retractObject(FactHandle handle)
                   throws FactException
Retract a fact.

Throws:
FactException - If an error occurs.
Parameters:
handle - The fact-handle associated with the fact to retract.

modifyObject

public void modifyObject(FactHandle handle,
                         java.lang.Object object)
                  throws FactException
Modify a fact.

Throws:
FactException - If an error occurs.
Parameters:
handle - The fact-handle associated with the fact to modify.
object - The new value of the fact.

clearAgenda

public void clearAgenda()
Clear the Agenda