001    package listFW.visitor;
002    
003    import listFW.*;
004    
005    /**
006     * Sums a list of Numbers, including lists of any sub-types.
007     * @author Mathias Ricken - Copyright 2008 - All rights reserved.
008     */
009    public class SumNumList implements IListAlgo<Number,Number,Object> {
010        
011        public Number emptyCase(IMTList<? extends Number> host, Object ... inp) {
012            return 0;
013        }
014        public Number nonEmptyCase(INEList<? extends Number> host, Object ... inp) {
015            return host.getFirst().doubleValue() + host.getRest().execute(this).doubleValue();
016        }
017    }