001    package listFW;
002    
003    /**
004     * A visitor to (algorithm on) an IList<T> where T is a subclass of E
005     * Also parameterized by it return type R and parameter type T.
006     * @author Mathias Ricken - Copyright 2008 - All rights reserved.
007     */
008    public interface IListAlgo<E,R,P> {
009    
010        public abstract R emptyCase(IMTList<? extends E> host,  P ... inp);
011    
012        public abstract R nonEmptyCase(INEList<? extends E> host,  P ... inp);
013    }
014