package edu.princeton.cs.algs4.growingtree.interfaces; import edu.princeton.cs.algs4.growingtree.experiments.IExperimentLogger; import edu.princeton.cs.algs4.growingtree.framework.NodeProperties; /** * This is the base interface for all the interfaces that client code is exposed to * for manipulating the tree. Currently, the only class that implements this interface * is ShadowNode, but casting to ShadowNode should never be * necessary and is strongly discouraged. * * @author Josh Israel * * @param

The NodeProperties class (or subclass) that these * nodes are parameterized by. * @see NodeProperties * @see edu.princeton.cs.algs4.growingtree.framework.ShadowNode */ public interface INode

extends Comparable> { public P getNodeProperties(); public IExperimentLogger

getLogger(); }