001    package listFW.visitor;
002    
003    import listFW.*;
004    /**
005     * Sums a list of Numbers, but only the integer part of the values.
006     * A test to see if the methods could be declared to return a subclass 
007     * of the paramaterized type.
008     * @author Mathias Ricken - Copyright 2008 - All rights reserved.
009     */ 
010    public class SumIntValList implements IListAlgo<Number,Number,Object> {
011        
012        public Integer emptyCase(IMTList<? extends Number> host, Object ... inp) {
013            return 0;
014        }
015        public Integer nonEmptyCase(INEList<? extends Number> host, Object ... inp) {
016            return host.getFirst().intValue() + host.getRest().execute(this).intValue();
017        }
018    }