Preconditions
for basic checks. In place of
constrained maps, we encourage you to check your preconditions
explicitly instead of leaving that work to the map implementation.
For the specific case of rejecting null, consider ImmutableMap
.
This class is scheduled for removal in Guava 20.0.@GwtCompatible @Beta @Deprecated public interface MapConstraint<K,V>
Map
or
Multimap
. For example, MapConstraints.notNull()
, which
prevents a map from including any null keys or values, could be implemented
like this: public void checkKeyValue(Object key, Object value) {
if (key == null || value == null) {
throw new NullPointerException();
}
}
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 key and value. 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.
MapConstraints
,
Constraint
Modifier and Type | Method and Description |
---|---|
void |
checkKeyValue(K key,
V value)
Deprecated.
Throws a suitable
RuntimeException if the specified key or value is
illegal. |
String |
toString()
Deprecated.
Returns a brief human readable description of this constraint, such as
"Not null".
|
void checkKeyValue(@Nullable K key, @Nullable V value)
RuntimeException
if the specified key or value is
illegal. Typically this is either a NullPointerException
, an
IllegalArgumentException
, or a ClassCastException
, though
an application-specific exception class may be used if appropriate.Copyright © 2010-2015. All Rights Reserved.