| java.lang.Object org.kuali.core.util.properties.PropertyTree
PropertyTree | public class PropertyTree implements Map(Code) | | This class is a Recursive container for single- and multi-level key,value pairs. It relies on the assumption that the consumer
(presumably a JSP) will (implicitly) call toString at the end of the chain, which will return the String value of the chain's
endpoint.
It implements Map because that's how we fool jstl into converting "a.b.c" into get("a").get("b").get("c") instead of
getA().getB().getC()
Uses LinkedHashMap and LinkedHashSet because iteration order is now important.
|
Method Summary | |
public void | clear() Unsupported, since you can't change the contents of a PropertyTree once it has been initialized. | public boolean | containsKey(Object key) | public boolean | containsValue(Object value) | public Set | entrySet() Returns an unmodifiable Set containing all key,value pairs in this PropertyTree and its children. | public Object | get(Object key) Traverses the tree structure until it finds the PropertyTree pointed to by the given key, and returns that PropertyTree
instance. | public Map | getDirectChildren() | public String | getProperty(String key) | public boolean | isEmpty() | public Set | keySet() Returns an unmodifiable Set containing the keys of all of the entries of this PropertyTree. | public Object | put(Object key, Object value) Unsupported, since you can't change the contents of a PropertyTree once it has been initialized. | public void | putAll(Map t) Unsupported, since you can't change the contents of a PropertyTree once it has been initialized. | public Object | remove(Object key) Unsupported, since you can't change the contents of a PropertyTree once it has been initialized. | public void | setProperties(Properties properties) Inserts all properties from the given Properties instance into this PropertyTree. | public void | setProperty(String key, String value) Associates the given key with the given value. | public int | size() | public String | toString() Returns the directValue of this PropertyTree, or null if there is none. | public Collection | values() Returns an unmodifiable Collection containing the values of all of the entries of this PropertyTree. |
PropertyTree | public PropertyTree()(Code) | | Creates an empty instance with no parent
|
PropertyTree | public PropertyTree(boolean flat)(Code) | | Creates an empty instance with no parent. If flat is true, entrySet and size and the iterators will ignore entries in
subtrees.
|
PropertyTree | public PropertyTree(Properties properties)(Code) | | Creates an instance pre-loaded with the given Properties
Parameters: properties - |
clear | public void clear()(Code) | | Unsupported, since you can't change the contents of a PropertyTree once it has been initialized.
|
entrySet | public Set entrySet()(Code) | | Returns an unmodifiable Set containing all key,value pairs in this PropertyTree and its children.
See Also: java.util.Map.entrySet |
get | public Object get(Object key)(Code) | | Traverses the tree structure until it finds the PropertyTree pointed to by the given key, and returns that PropertyTree
instance.
Only returns PropertyTree instances; if you want the String value pointed to by a given key, you must call toString() on the
returned PropertyTree (after verifying that it isn't null, of course).
See Also: java.util.Map.get(java.lang.Object) |
getDirectChildren | public Map getDirectChildren()(Code) | | an unmodifiable copy of the direct children of this PropertyTree |
getProperty | public String getProperty(String key)(Code) | | Parameters: key - the directValue of the PropertyTree associated with the given key, or null if there is none |
keySet | public Set keySet()(Code) | | Returns an unmodifiable Set containing the keys of all of the entries of this PropertyTree.
See Also: java.util.Map.keySet |
put | public Object put(Object key, Object value)(Code) | | Unsupported, since you can't change the contents of a PropertyTree once it has been initialized.
|
putAll | public void putAll(Map t)(Code) | | Unsupported, since you can't change the contents of a PropertyTree once it has been initialized.
|
remove | public Object remove(Object key)(Code) | | Unsupported, since you can't change the contents of a PropertyTree once it has been initialized.
|
setProperty | public void setProperty(String key, String value)(Code) | | Associates the given key with the given value. If the given key has multiple levels (consists of multiple strings separated
by '.'), the property value is stored such that it can be retrieved either directly, by calling get() and passing the entire
key; or indirectly, by decomposing the key into its separate levels and calling get() successively on the result of the
previous level's get.
For example, given
PropertyTree tree = new PropertyTree();
tree.set( "a.b.c", "something" );
the following statements are
equivalent ways to retrieve the value:
Object one = tree.get( "a.b.c" );
Object two = tree.get( "a" ).get( "b" ).get( "c" );
Note: since I can't have the get method return both a PropertyTree and a String, getting an actual String requires calling
toString on the PropertyTree returned by get.
Parameters: key - Parameters: value - throws: IllegalArgumentException - if the key is null throws: IllegalArgumentException - if the value is null |
size | public int size()(Code) | | the number of keys contained, directly or indirectly, in this PropertyTree |
toString | public String toString()(Code) | | Returns the directValue of this PropertyTree, or null if there is none.
This is the hack that makes it possible for jstl to get what it needs when trying to retrive the value of a simple key or of
a complex (multi-part) key.
|
|
|