diff options
Diffstat (limited to 'ws2015/eip/blaetter/08/de/lmu/ifi/tcs/HundeschuleKorrekt.java')
-rw-r--r-- | ws2015/eip/blaetter/08/de/lmu/ifi/tcs/HundeschuleKorrekt.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ws2015/eip/blaetter/08/de/lmu/ifi/tcs/HundeschuleKorrekt.java b/ws2015/eip/blaetter/08/de/lmu/ifi/tcs/HundeschuleKorrekt.java new file mode 100644 index 0000000..6fb527f --- /dev/null +++ b/ws2015/eip/blaetter/08/de/lmu/ifi/tcs/HundeschuleKorrekt.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package de.lmu.ifi.tcs; | ||
2 | |||
3 | import java.util.ArrayList; | ||
4 | import java.util.Iterator; | ||
5 | |||
6 | class HundeschuleKorrekt { | ||
7 | private ArrayList<Tier> roster; | ||
8 | |||
9 | public HundeschuleKorrekt() | ||
10 | { | ||
11 | roster = new ArrayList<Tier>(); | ||
12 | } | ||
13 | |||
14 | private static boolean isAdmissable(Tier tier) | ||
15 | { | ||
16 | if (tier.getClass().equals(Hund.class)) | ||
17 | return true; | ||
18 | return false; | ||
19 | } | ||
20 | |||
21 | public boolean add(Tier tier) | ||
22 | { | ||
23 | if (! isAdmissable(tier)) | ||
24 | return false; | ||
25 | return roster.add(tier); | ||
26 | } | ||
27 | |||
28 | public boolean addAll(ArrayList<Tier> tiere) | ||
29 | { // Ugh. | ||
30 | Iterator<Tier> it = roster.iterator(); | ||
31 | ArrayList<Tier> admissable = new ArrayList<Tier>(); | ||
32 | |||
33 | while (it.hasNext()) | ||
34 | { | ||
35 | Tier tier = it.next(); | ||
36 | if (isAdmissable(tier)) | ||
37 | admissable.add(tier); | ||
38 | } | ||
39 | |||
40 | return roster.addAll(admissable); | ||
41 | } | ||
42 | |||
43 | public boolean remove(Tier tier) | ||
44 | { | ||
45 | return roster.remove(tier); | ||
46 | } | ||
47 | |||
48 | public ArrayList<Tier> getTiere() | ||
49 | { | ||
50 | return roster; | ||
51 | } | ||
52 | } | ||