Package org.apache.commons.text.lookup
Class BiFunctionStringLookup<P,R>
- java.lang.Object
-
- org.apache.commons.text.lookup.BiFunctionStringLookup<P,R>
-
- Type Parameters:
R
- A function's return typeP
- A function's second input type
- All Implemented Interfaces:
BiStringLookup<P>
,StringLookup
final class BiFunctionStringLookup<P,R> extends java.lang.Object implements BiStringLookup<P>
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 Modifier and Type Field Description private java.util.function.BiFunction<java.lang.String,P,R>
biFunction
Function.
-
Constructor Summary
Constructors Modifier Constructor Description private
BiFunctionStringLookup(java.util.function.BiFunction<java.lang.String,P,R> biFunction)
Creates a new instance backed by a Function.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
lookup(java.lang.String key)
Looks up a String key to provide a String value.java.lang.String
lookup(java.lang.String key, P object)
Looks up a String key by applying the function.(package private) static <U,T>
BiFunctionStringLookup<U,T>on(java.util.function.BiFunction<java.lang.String,U,T> biFunction)
Creates a new instance backed by a Function.(package private) static <U,T>
BiFunctionStringLookup<U,T>on(java.util.Map<java.lang.String,T> map)
Creates a new instance backed by a Map.java.lang.String
toString()
-
-
-
Method Detail
-
on
static <U,T> BiFunctionStringLookup<U,T> on(java.util.function.BiFunction<java.lang.String,U,T> biFunction)
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
static <U,T> BiFunctionStringLookup<U,T> on(java.util.Map<java.lang.String,T> map)
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
public java.lang.String lookup(java.lang.String key)
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
public java.lang.String lookup(java.lang.String key, P object)
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
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-