jeops.conflict
Class PriorityConflictSet
java.lang.Object
|
+--jeops.conflict.AbstractConflictSet
|
+--jeops.conflict.PriorityConflictSet
- public class PriorityConflictSet
- extends AbstractConflictSet
A conflict set whose conflict resolution policy is one that rules defined
first in the rule base have a higher priority over the ones defined below
it.
- Version:
- 0.01 14 Apr 2000
- Author:
- Carlos Figueira Filho (csff@cin.ufpe.br)
Field Summary |
private java.util.Vector |
fireableRules
The vector where the fireable rules are stored. |
private int |
size
The number of elements in this conflict set. |
Method Summary |
private void |
ensureFireableRulesCapacity(int size)
Auxiliar method that ensures that the fireable rules vector
has as many elements as the given integer. |
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. |
boolean |
isEmpty()
Checks whether this set has any elements. |
ConflictSetElement |
nextElement()
Returns the next rule to be fired. |
void |
removeElementsWith(java.lang.Object obj)
Remove all elements from this set that uses the given object
in its instantiations. |
java.lang.String |
toString()
Returns a string representation of this object. |
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
fireableRules
private java.util.Vector fireableRules
- The vector where the fireable rules are stored. It's actually
a vector of vectors, to simulate a bidimensional matrix: the
lines represent the rules and the columns will have their
instantiations.
size
private int size
- The number of elements in this conflict set.
PriorityConflictSet
public PriorityConflictSet()
- Class constructor.
ensureFireableRulesCapacity
private void ensureFireableRulesCapacity(int size)
- Auxiliar method that ensures that the fireable rules vector
has as many elements as the given integer.
- Parameters:
size
- the size the vector must have.
flush
public void flush()
- Removes all rules from this conflict set, as well as cleaning any
history that might have been stored.
insertElement
public void insertElement(ConflictSetElement element)
- Inserts a rule instantiation.
- Parameters:
element
- a conflict set element that holds the rule index as
well as the objects bound to the rule declarations.
isEmpty
public boolean isEmpty()
- Checks whether this set has any elements.
- Returns:
false
if there is at least one fireable rule
in this set; true
otherwise.
nextElement
public ConflictSetElement nextElement()
throws NoMoreElementsException
- Returns the next rule to be fired.
- Returns:
- a conflict set element among those that have been inserted
in this object, according to the policy defined in this
conflict set.
- Throws:
- NoMoreElementsException - if there aren't any more elements
in this conflict set.
removeElementsWith
public void removeElementsWith(java.lang.Object obj)
- Remove all elements from this set that uses the given object
in its instantiations.
- Parameters:
obj
- the given object
toString
public java.lang.String toString()
- Returns a string representation of this object. Useful for
debugging.
- Overrides:
- toString in class java.lang.Object
- Returns:
- a string representation of this object.