Consumer.java
package ch.hslu.exercises.sw08.ex4;
import java.util.List;
import java.util.concurrent.Callable;
/**
* Konsument, der soviele Integer Werte aus einer Liste liest, wie er nur kann.
*/
public final class Consumer implements Callable<Long> {
private final List<Integer> list;
/**
* Erzeugt einen Konsumenten, der soviel Integer-Werte ausliest, wie er nur
* kann.
*
* @param list Queue zum Lesen der Integer-Werte.
*/
public Consumer(final List<Integer> list) {
this.list = list;
}
/**
* Liefert die Summe aller ausgelesener Werte.
*
* @return Summe.
* @throws java.lang.Exception falls Ausnahmen passieren.
*/
@Override
public Long call() throws Exception {
long sum = 0;
for (Integer integer : list) {
sum += integer;
}
return sum;
}
}