/*****************
 * SearchNode Interface 
 * Mark Goadrich
 ******************/

public interface SearchNode {
    
    // Returns the level of the node (i.e how many parents)
    public int getLevel();

    // Returns the heuristic value
    public int gethValue();
    
    // Tests for the goal state
    public boolean isGoal();
    
    // Generate all the children nodes of this node
    public SearchNode[] generateChildren();
    
    // Prints a recursive path from initial node to here
    public void printPath();

    // Also override equals and toString methods
}
