Interface BiStringLookup<U>
- Type Parameters:
U
- The second argument type.
- All Superinterfaces:
StringLookup
- 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 BiStringLookup<U> extends StringLookup
This class represents the simplest form of a string to string map. It has a benefit over a map in that it can create the result on demand based on the key.
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.
Like BiFunction
is a variant of Function
, this BiStringLookup
is a variant of
StringLookup
.
- Since:
- 1.9
-
Method Details
-
lookup
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.biFunctionStringLookup(map).lookup("number", "A context object"));
- Parameters:
key
- the key to look up, may be null.object
- ignored by default.- Returns:
- The matching value, null if no match.
-