harpoon.Analysis.GraphColoring
Class OptimisticGraphColorer.NodeSelector

java.lang.Object
  extended by harpoon.Analysis.GraphColoring.OptimisticGraphColorer.NodeSelector
Direct Known Subclasses:
OptimisticGraphColorer.SimpleSelector
Enclosing class:
OptimisticGraphColorer

public abstract static class OptimisticGraphColorer.NodeSelector
extends Object


Constructor Summary
OptimisticGraphColorer.NodeSelector()
           
 
Method Summary
abstract  boolean allowedToRemove(Object n, ColorableGraph g)
          Checks if node can be removed from graph to improve colorability.
abstract  Object chooseNodeForHiding(ColorableGraph g)
          Returns a element of g.nodeSet(), in the intent that it be hidden in g.
abstract  Object chooseNodeForRemoval(ColorableGraph g)
          Returns a element of g.nodeSet(), in the intent that it be removed from g.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OptimisticGraphColorer.NodeSelector

public OptimisticGraphColorer.NodeSelector()
Method Detail

chooseNodeForRemoval

public abstract Object chooseNodeForRemoval(ColorableGraph g)
Returns a element of g.nodeSet(), in the intent that it be removed from g.
requires: g.nodeSet() is not empty.
effects: returns some element of g.nodeSet().


chooseNodeForHiding

public abstract Object chooseNodeForHiding(ColorableGraph g)
Returns a element of g.nodeSet(), in the intent that it be hidden in g.
requires: g.nodeSet() is not empty.
effects: returns some uncolored element of g.nodeSet(), or null if all the elements of g.nodeSet() are colored.


allowedToRemove

public abstract boolean allowedToRemove(Object n,
                                        ColorableGraph g)
Checks if node can be removed from graph to improve colorability.
requires: n is in g
effects: returns True if n could ever be returned from chooseNodeForRemoval(g), False otherwise.