public abstract class StrLookup<V> extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
StrLookup()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
abstract String |
lookup(String key)
Looks up a String key to a String value.
|
static <V> StrLookup<V> |
mapLookup(Map<String,V> map)
Returns a lookup which looks up values using a map.
|
static StrLookup<?> |
noneLookup()
Returns a lookup which always returns null.
|
static StrLookup<String> |
systemPropertiesLookup()
Returns a new lookup which uses a copy of the current
System properties. |
public static StrLookup<?> noneLookup()
public static StrLookup<String> systemPropertiesLookup()
System properties.
If a security manager blocked access to system properties, then null will be returned from every lookup.
If a null key is used, this lookup will throw a NullPointerException.
public static <V> StrLookup<V> mapLookup(Map<String,V> map)
If the map is null, then null will be returned from every lookup. The map result object is converted to a string using toString().
V - the type of the values supported by the lookupmap - the map of keys to values, may be nullpublic abstract String lookup(String key)
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.
The lookup(String) 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", Integer.valueOf(2));
assertEquals("2", StrLookup.mapLookup(map).lookup("number"));
key - the key to be looked up, may be nullCopyright © 2019. All rights reserved.