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 }