package schemeFW; /** * Represents a non-empty list. * Implemented as a composite. * @author Dung X. Nguyen * @author Dung X. Nguyen * @author Stephen B. Wong * @version 1.1 * @since 09/10/01 * @Custom Copyright 2001 -All rights reserved */ public class NEList implements INEList { /** * This NEList's first. */ private Object _first; /** * This NEList's rest * @SBGen Variable (,,,64) */ private IList _rest; /** * Initializes this NEList to the given first and rest. * @param dat the first data element of this NEList. * @param tail the rest of this AList. */ public NEList(Object dat, IList tail) { _first = dat; _rest = tail; } /** * Accessor method for this NEList's first. * @return Object the first element of this NEList. */ public Object getFirst() { return _first; } /** * Accessor method for this NEList's rest. * @return IList the rest of this NEList. */ public IList getRest() { return _rest; } /** * Calls the nonEmptyCase() method of the supplied IListAlgo * with the supplied input parameter. * @param algo The visitor algorithm to be executed. * @param inp input to be handed to algo's nonEmptyCase(). * @return Object output of algo's nonEmptyCase(). */ public Object execute(IListAlgo algo, Object inp) { return algo.nonEmptyCase(this, inp); } }