package lrs; /** * Represents an abstract algorithm on an LRStruct. Acts as a visitor to a * LRStruct host. * @author Dung X. Nguyen Copyright 2001 - All rights reserved. * @since 10/09/01 */ public interface IAlgo { /** * Operates on an empty LRStruct host, given an input object. * @param host an empty LRStruct. * @param inp input object needed by this IVisitor. * @return an appropriate output object. */ public abstract Object emptyCase(LRStruct host, Object inp); /** * Operates on a non-empty LRStruct host, given an input object. * @param host a non-empty LRStruct. * @param inp input object needed by this IVisitor. * @return an appropriate output object. */ public abstract Object nonEmptyCase(LRStruct host, Object inp); }