// clients use this interface to allow 
// visitors to graphically show ownership
// as well as generate traversals
/**
 * An interface that client's implement to graphically show "hosting"
 * and generate traversals.
 * set of traversals.
 *
 * @version        1.0 12 Dec 1996
 * @author         Andrew Miller
 */
public interface VisitorHost
{
    /** Host the provided visitor.
      * @param visitor Visitor to host.
      */
    public void host(Visitor visitor);

    /** Return the name to be used when generating
      * the traversal behavior.
      * 
      * @return traversal component name.
      */
    public String getNameForTraversal();

    /** Return the type of this VisitorHost implementor at run-time.
      *
      * @return unique host identification string
      */
    public String hostType();
}
