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 SubCollectionConstraint<T> implements Constraint<Collection<T>>
19 {
20
21
22 @SuppressWarnings("checkstyle:visibilitymodifier")
23 protected final Collection<T> objects;
24
25
26
27
28
29 public SubCollectionConstraint(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 Collection<T> value)
37 {
38 return this.objects.containsAll(value);
39 }
40
41 @Override
42 public String failMessage()
43 {
44 return "Value of parameter '%s' contains value(s) not in the collection of acceptable values.";
45 }
46
47 @Override
48 public String toString()
49 {
50 return "SubCollectionConstraint [objects=" + this.objects + "]";
51 }
52
53 }