Interface Boolean2ObjectFunction<V>

All Superinterfaces:
Function<Boolean,V>, Function<Boolean,V>
All Known Implementing Classes:
AbstractBoolean2ObjectFunction
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Boolean2ObjectFunction<V> extends Function<Boolean,V>
A type-specific Function; provides some additional methods that use polymorphism to avoid (un)boxing.

Type-specific versions of get(), put() and remove() cannot rely on null to denote absence of a key. Rather, they return a default return value, which is set to 0/false at creation, but can be changed using the defaultReturnValue() method.

For uniformity reasons, even functions returning objects implement the default return value (of course, in this case the default return value is initialized to null).

The default implementation of optional operations just throw an UnsupportedOperationException, except for the type-specific containsKey(), which return true. Generic versions of accessors delegate to the corresponding type-specific counterparts following the interface rules.

Warning: to fall in line as much as possible with the standard map interface, it is required that standard versions of get(), put() and remove() for maps with primitive-type keys or values return null to denote missing keys rather than wrap the default return value in an object. In case both keys and values are reference types, the default return value must be returned instead, thus violating the standard map interface when the default return value is not null.

See Also: