HelpGetLast.java
Created with JBuilder

package listFW.visitor;

import listFW.*;

/**
 * Helps compute the last element in the list containing the host.
 * The input parameter is the last element of the preceding list.
 * @author D. X. Nguyen
 */
public class HelpGetLast implements IListAlgo {
    public static final HelpGetLast Singleton = new HelpGetLast ();

    private HelpGetLast () {
    }

    /**
     * Returns the input parameter since this is the end of the list.
     * @param host not used
     * @param input the first element of the host's parent list.
     * @return Object
     */
    public Object emptyCase(IEmptyList host, Object input) {
        return input;
    }

    /**
     * Passes the host's first down to the host's rest and asks for help to
     * figure out the last element in the host: recur!
     * @param host a non-empty list
     * @param input not used.
     * @return Object
     */
    public Object nonEmptyCase(INEList host, Object input) {
        return host.getRest().execute(this, host.getFirst());
    }
}



HelpGetLast.java
Created with JBuilder