Package org.apache.commons.text.lookup
Class BiFunctionStringLookup<P,R>
java.lang.Object
org.apache.commons.text.lookup.BiFunctionStringLookup<P,R>
- Type Parameters:
P
- A function's second input typeR
- A function's return type
- All Implemented Interfaces:
BiStringLookup<P>
,StringLookup
A function-based lookup where the request for a lookup is answered by applying that function with a key.
- Since:
- 1.9
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
BiFunctionStringLookup
(BiFunction<String, P, R> biFunction) Creates a new instance backed by a Function. -
Method Summary
Modifier and TypeMethodDescriptionLooks up a String key to provide a String value.Looks up a String key by applying the function.(package private) static <U,
T> BiFunctionStringLookup <U, T> on
(BiFunction<String, U, T> biFunction) Creates a new instance backed by a Function.(package private) static <U,
T> BiFunctionStringLookup <U, T> Creates a new instance backed by a Map.toString()
-
Field Details
-
biFunction
Function.
-
-
Constructor Details
-
BiFunctionStringLookup
Creates a new instance backed by a Function.- Parameters:
biFunction
- the function, may be null.
-
-
Method Details
-
on
Creates a new instance backed by a Function.- Type Parameters:
T
- the function's input type- Parameters:
biFunction
- the function, may be null.- Returns:
- a new instance backed by the given function.
-
on
Creates a new instance backed by a Map. Used by the default lookup.- Type Parameters:
T
- the map's value type.- Parameters:
map
- the map of keys to values, may be null.- Returns:
- a new instance backed by the given map.
-
lookup
Description copied from interface:StringLookup
Looks up a String key to provide a String value.The internal implementation may use any mechanism to return the value. The simplest implementation is to use a Map. However, virtually any implementation is possible.
For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database Or, a numeric based implementation could be created that treats the key as an integer, increments the value and return the result as a string - converting 1 to 2, 15 to 16 etc.
This method always returns a String, regardless of the underlying data, by converting it as necessary. For example:
Map<String, Object> map = new HashMap<String, Object>(); map.put("number", new Integer(2)); assertEquals("2", StringLookupFactory.mapStringLookup(map).lookup("number"));
- Specified by:
lookup
in interfaceStringLookup
- Parameters:
key
- the key to look up, may be null.- Returns:
- The matching value, null if no match.
-
lookup
Looks up a String key by applying the function.If the function is null, then null is returned. The function result object is converted to a string using toString().
- Specified by:
lookup
in interfaceBiStringLookup<P>
- Parameters:
key
- the key to be looked up, may be null.object
- ignored by default.- Returns:
- The function result as a string, may be null.
-
toString
-