001    package listFW;
002    
003    /**
004     * Represents the structural behavior of an immutable non-empty list
005     * that holds elements of type E.
006     * An immutable non-empty list has a data object called first, and an
007     * isomorphic subcomponent called rest.  Its structural behavior
008     * provides access to its internal data (first) and substructure (rest).
009     * @author Dung X. Nguyen
010     * @author Stephen B. Wong
011     * @author Mathias Ricken - Copyright 2008 - All rights reserved.
012     * @since Copyright 2004 - DXN, SBW All rights reserved
013     */
014    public interface INEList<E> extends IList<E> {
015        /**
016         * "Gettor" method for the list's first.
017         * @return this INElist's first element.
018         */
019        public abstract E getFirst();
020    
021        /**
022         * "Gettor" method for the list's rest.
023         * @return this INElist's rest.
024         */
025        public abstract IList<? extends E> getRest();
026    }
027