package brs; /** * Represents all extrinsic algorithms on a BiTree as a visitor to * the BiTree host structure. The BiTree host will make the appropriate call on * this IVisitor's methods. * @author Dung X. Nguyen - Copyright 2001 - All rights reserved. */ public abstract interface IVisitor { /** * Called by the host when the host is empty. * @param host an empty BiTree on which this IVisitor operates. * @param inp the input needed by this IVisitor to perform its task. * @return Object the output of this algorithm on the host. */ public abstract Object emptyCase(BiTree host, Object inp); /** * Called by the host when the host is not empty. * @param host a non-empty BiTree on which this IVisitor operates. * @param inp the input needed by this IVisitor to perform its task. * @return Object the output of this algorithm on the host. */ public abstract Object nonEmptyCase(BiTree host, Object inp); }