Class Parameter
- All Implemented Interfaces:
Serializable
A Parameter is an object which the ParameterDatabase class uses as a key to associate with strings, forming a key-value pair. Parameters are designed to be hierarchical in nature, consisting of "path items" separated by a path separator. Parameters are created either from a single path item, from an array of path items, or both. For example, a parameter with the path foo.bar.baz might be created from new Parameter(new String[] {"foo","bar","baz"})
Parameters are not mutable -- but once a parameter is created, path items may be pushed an popped from it, forming a new parameter. For example, if a parameter p consists of the path foo.bar.baz, p.pop() results in a new parameter whose path is foo.bar This pushing and popping isn't cheap, so be sparing.
Because this system internally uses "." as its path separator, you should not use that character in parts of the path that you provide; however if you need some other path separator, you can change the delimiter in the code trivially. In fact, you can create a new Parameter with a path foo.bar.baz simply by calling new Parameter("foo.bar.baz") but you'd better know what you're doing.
Additionally, parameters must not contain "#", "=", non-ascii values, or whitespace. Yes, a parameter path item may be empty.
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCreates a new parameter from the single path item in s.Creates a new parameter by joining the path items in s into a single path.Creates a new parameter from the path item in s, plus the path items in s2. -
Method Summary
Modifier and TypeMethodDescriptionpop()
Returns a new parameter with one path item popped off the end.popn
(int n) Returns a new parameter with n path items popped off the end.Returns a new parameter with s added to the end of the current path items.Returns a new parameter with the path items in s added to the end of the current path items.top()
Returns the path item at the far end of the parameter.toString()
-
Field Details
-
param
-
delimiter
public static final char delimiter- See Also:
-
-
Constructor Details
-
Parameter
Creates a new parameter by joining the path items in s into a single path.- Throws:
BadParameterException
-
Parameter
Creates a new parameter from the single path item in s.- Throws:
BadParameterException
-
Parameter
Creates a new parameter from the path item in s, plus the path items in s2. s2 may be null or empty, but not s
-
-
Method Details
-
push
Returns a new parameter with s added to the end of the current path items. If s is empty, nothing is pushed on (and no delimiter is added to the end). -
push
Returns a new parameter with the path items in s added to the end of the current path items. -
pop
Returns a new parameter with one path item popped off the end. If this would result in a parameter with an empty collection of path items, null is returned. -
popn
Returns a new parameter with n path items popped off the end. If this would result in a parameter with an empty collection of path items, null is returned. -
top
Returns the path item at the far end of the parameter. -
toString
-