org.drools.reteoo.impl
Class AgendaImpl

java.lang.Object
  |
  +--org.drools.reteoo.impl.AgendaImpl
All Implemented Interfaces:
Agenda

public class AgendaImpl
extends java.lang.Object
implements Agenda

Rule-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 modify 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.

Author:
bob mcwhirter

Constructor Summary
AgendaImpl(WorkingMemory workingMemory)
          Construct.
 
Method Summary
 void fireNextItem()
          Fire the next scheduled Agenda item.
 boolean isEmpty()
          Determine if this Agenda has any scheduled items.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AgendaImpl

public AgendaImpl(WorkingMemory workingMemory)
Construct.
Parameters:
workingMemory - The WorkingMemory of this agenda.
Method Detail

isEmpty

public boolean isEmpty()
Determine if this Agenda has any scheduled items.
Specified by:
isEmpty in interface Agenda
Returns:
true if the agenda is empty, otherwise false.

fireNextItem

public void fireNextItem()
                  throws ConsequenceException
Fire the next scheduled Agenda item.
Specified by:
fireNextItem in interface Agenda
Throws:
ConsequenceException - If an error occurs while firing an agenda item.


Copyright © 2001-2003 The Werken Company. All Rights Reserved.