1 package org.opentrafficsim.base.parameters.constraint;
2
3 import java.util.Collection;
4
5 import org.djutils.exceptions.Throw;
6
7
8
9
10
11
12
13
14
15
16
17
18 public class CollectionConstraint<T> implements Constraint<T>
19 {
20
21
22 @SuppressWarnings("checkstyle:visibilitymodifier")
23 protected final Collection<T> objects;
24
25
26
27
28
29 public CollectionConstraint(final Collection<T> objects)
30 {
31 Throw.whenNull(objects, "Collection of acceptable objects may not be null.");
32 this.objects = objects;
33 }
34
35 @Override
36 public boolean accept(final T value)
37 {
38 return this.objects.contains(value);
39 }
40
41 @Override
42 public String failMessage()
43 {
44 return "Value of parameter '%s' is not in the collection of acceptable values.";
45 }
46
47 @Override
48 public String toString()
49 {
50 return "CollectionConstraint [objects=" + this.objects + "]";
51 }
52
53 }