1 package fr.ifremer.tutti.persistence.entities.referential;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import com.google.common.base.Predicate;
26
27 import java.util.Collection;
28 import java.util.Iterator;
29
30 public class CaracteristicQualitativeValues extends AbstractCaracteristicQualitativeValues {
31
32 public static CaracteristicQualitativeValue getQualitativeValue(Caracteristic caracteristic, Integer qualitativeValueId) {
33 CaracteristicQualitativeValue value = null;
34 for (CaracteristicQualitativeValue qv : caracteristic.getQualitativeValue()) {
35 if (qualitativeValueId.equals(qv.getIdAsInt())) {
36 value = qv;
37 break;
38 }
39 }
40 return value;
41 }
42
43 public static CaracteristicQualitativeValue getQualitativeValue(Caracteristic caracteristic, String qualitativeValueId) {
44 CaracteristicQualitativeValue value = null;
45 for (CaracteristicQualitativeValue qv : caracteristic.getQualitativeValue()) {
46 if (qualitativeValueId.equals(qv.getId())) {
47 value = qv;
48 break;
49 }
50 }
51 return value;
52 }
53
54 public static void removeQualitativeValue(Collection<CaracteristicQualitativeValue> values, int id) {
55 Iterator<CaracteristicQualitativeValue> iterator = values.iterator();
56 while (iterator.hasNext()) {
57 CaracteristicQualitativeValue next = iterator.next();
58 if (id == next.getIdAsInt()) {
59 iterator.remove();
60 break;
61 }
62 }
63 }
64
65 protected static class CaracteristicQualitativeValuePredicate implements Predicate<CaracteristicQualitativeValue> {
66
67 private final Integer id;
68
69 public CaracteristicQualitativeValuePredicate(Integer id) {
70 this.id = id;
71 }
72
73 @Override
74 public boolean apply(CaracteristicQualitativeValue input) {
75 return id.equals(input.getIdAsInt());
76 }
77 }
78 }