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>biFunctionFunction.
-
Constructor Summary
Constructors Modifier Constructor Description privateBiFunctionStringLookup(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.Stringlookup(java.lang.String key)Looks up a String key to provide a String value.java.lang.Stringlookup(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.StringtoString()
-
-
-
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:StringLookupLooks 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:
lookupin 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:
lookupin 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:
toStringin classjava.lang.Object
-
-