Package com.day.cq.mailer.commons
Class ProfileVariableLookup
java.lang.Object
org.apache.commons.lang.text.StrLookup
com.day.cq.mailer.commons.ProfileVariableLookup
Implements a
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 set- Since:
- 5.4
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionProfileVariableLookup(Authorizable authorizable, UserProperties userProperties, Map<String, String> overlays) -
Method Summary
Methods inherited from class org.apache.commons.lang.text.StrLookup
mapLookup, noneLookup, systemPropertiesLookup
-
Field Details
-
AUTHORIZABLE_ID
- See Also:
-
-
Constructor Details
-
ProfileVariableLookup
public ProfileVariableLookup(Authorizable authorizable, UserProperties userProperties, Map<String, String> overlays) throws IntrospectionException- Parameters:
authorizable- The authorizable for which variables need to be looked up.userProperties- The properties of the authorizable.overlays- The map of overlays- Throws:
IntrospectionException- when not being able to map a string class name to a Class object
-
-
Method Details
-
lookup
Looks up a String key to 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.
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")); -
put
Adds or overwrites a mapping of this replacer.- Parameters:
var- name of the variable to mapreplace- the value of the variable
-