View Javadoc
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  }