public class ProfileVariableLookup extends StrLookup
StrLookup
that is
looking up variables from a
Authorizable
's UserProperties.
Additional variables can bee added via a put(String, String)
.
If the key exists in the UserProperties, the value is overwritten with the newly setStrLookup
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AUTHORIZABLE_ID |
Constructor and Description |
---|
ProfileVariableLookup(Authorizable authorizable,
UserProperties userProperties,
java.util.Map<java.lang.String,java.lang.String> overlays) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
lookup(java.lang.String variable)
Looks up a String key to a String value.
|
void |
put(java.lang.String var,
java.lang.String replace)
Adds or overwrites a mapping of this replacer.
|
mapLookup, noneLookup, systemPropertiesLookup
public static final java.lang.String AUTHORIZABLE_ID
public ProfileVariableLookup(Authorizable authorizable, UserProperties userProperties, java.util.Map<java.lang.String,java.lang.String> overlays) throws java.beans.IntrospectionException
authorizable
- The authorizable for which variables need to be looked up.userProperties
- The properties of the authorizable.overlays
- The map of overlaysjava.beans.IntrospectionException
- when not being able to map a string class name to a Class objectpublic java.lang.String lookup(java.lang.String variable)
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 StrLookup.lookup(String)
method always returns a String, regardless of
the underlying data, by converting it as necessary. For example:
Map map = new HashMap(); map.put("number", new Integer(2)); assertEquals("2", StrLookup.mapLookup(map).lookup("number"));
public void put(java.lang.String var, java.lang.String replace)
var
- name of the variable to mapreplace
- the value of the variableCopyright © 2010 - 2020 Adobe. All Rights Reserved