jeops.conflict
Class NaturalConflictSet

java.lang.Object
  |
  +--jeops.conflict.AbstractConflictSet
        |
        +--jeops.conflict.DefaultConflictSet
              |
              +--jeops.conflict.NaturalConflictSet

public class NaturalConflictSet
extends DefaultConflictSet

A conflict set whose conflict resolution policy specifies that no rule can be fired more than once with the same objects. This conflict set requires a large amount of memory to store the history of rule firing, so it must be used with care. It also tends to get inefficient when the history grows.

Version:
0.01 25 May 2000
Author:
Carlos Figueira Filho (csff@cin.ufpe.br)

Field Summary
private  java.util.Vector history
          The history rule firing.
 
Fields inherited from class jeops.conflict.DefaultConflictSet
fireableRules
 
Fields inherited from class jeops.conflict.AbstractConflictSet
debug, listeners
 
Constructor Summary
NaturalConflictSet()
          Class constructor.
 
Method Summary
 void flush()
          Removes all rules from this conflict set, as well as cleaning any history that might have been stored.
 void insertElement(ConflictSetElement element)
          Inserts a rule instantiation.
 ConflictSetElement nextElement()
          Returns the next rule to be fired.
 
Methods inherited from class jeops.conflict.DefaultConflictSet
isEmpty, removeElementsWith
 
Methods inherited from class jeops.conflict.AbstractConflictSet
addInternalConflictSetListener, elementAdded, elementRemoved, fireInternalElementAddedEvent, fireInternalElementRemovedEvent, removeElementsWith_1D, removeElementsWith_2D, removeInternalConflictSetListener
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

history

private java.util.Vector history
The history rule firing.
Constructor Detail

NaturalConflictSet

public NaturalConflictSet()
Class constructor.
Method Detail

flush

public void flush()
Removes all rules from this conflict set, as well as cleaning any history that might have been stored.
Overrides:
flush in class DefaultConflictSet

insertElement

public void insertElement(ConflictSetElement element)
Inserts a rule instantiation.
Overrides:
insertElement in class DefaultConflictSet
Parameters:
element - a conflict set element that holds the rule index as well as the objects bound to the rule declarations.

nextElement

public ConflictSetElement nextElement()
                               throws NoMoreElementsException
Returns the next rule to be fired.
Overrides:
nextElement in class DefaultConflictSet
Returns:
a conflict set element among those that have been inserted in this object, according to the policy defined in the conflict set.
Throws:
NoMoreElementsException - if there aren't any more elements in this conflict set.