Package com.google.common.collect
Interface Constraint<E>
-
@GwtCompatible interface Constraint<E>
A constraint that an element must satisfy in order to be added to a collection. For example,Constraints#notNull()
, which prevents a collection from including any null elements, could be implemented like this:public Object checkElement(Object element) { if (element == null) { throw new NullPointerException(); } return element; }
In order to be effective, constraints should be deterministic; that is, they should not depend on state that can change (such as external state, random variables, and time) and should only depend on the value of the passed-in element. A non-deterministic constraint cannot reliably enforce that all the collection's elements meet the constraint, since the constraint is only enforced when elements are added.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description E
checkElement(E element)
Throws a suitableRuntimeException
if the specified element is illegal.java.lang.String
toString()
Returns a brief human readable description of this constraint, such as "Not null" or "Positive number".
-
-
-
Method Detail
-
checkElement
E checkElement(E element)
Throws a suitableRuntimeException
if the specified element is illegal. Typically this is either aNullPointerException
, anIllegalArgumentException
, or aClassCastException
, though an application-specific exception class may be used if appropriate.- Parameters:
element
- the element to check- Returns:
- the provided element
-
toString
java.lang.String toString()
Returns a brief human readable description of this constraint, such as "Not null" or "Positive number".- Overrides:
toString
in classjava.lang.Object
-
-