1 package ch.hslu.exercises.sw08.ex4; 2 3 import java.util.List; 4 import java.util.concurrent.Callable; 5 6 /** 7 * Konsument, der soviele Integer Werte aus einer Liste liest, wie er nur kann. 8 */ 9 public final class Consumer implements Callable<Long> { 10 11 private final List<Integer> list; 12 13 /** 14 * Erzeugt einen Konsumenten, der soviel Integer-Werte ausliest, wie er nur 15 * kann. 16 * 17 * @param list Queue zum Lesen der Integer-Werte. 18 */ 19 public Consumer(final List<Integer> list) { 20 this.list = list; 21 } 22 23 /** 24 * Liefert die Summe aller ausgelesener Werte. 25 * 26 * @return Summe. 27 * @throws java.lang.Exception falls Ausnahmen passieren. 28 */ 29 @Override 30 public Long call() throws Exception { 31 long sum = 0; 32 for (Integer integer : list) { 33 sum += integer; 34 } 35 return sum; 36 } 37 }