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