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 21.0.@GwtCompatible @Beta @Deprecated public interface MapConstraint<K,V>
Map
or Multimap
. For
example, to prevent a map from including any null keys or values, you could implement a MapConstraint
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-2016. All Rights Reserved.