- All Superinterfaces:
Comparable<Config.Key>
- All Known Subinterfaces:
Config.Key
- Enclosing interface:
Config
Object represents fully-qualified key of config node.
Fully-qualified key is list of key tokens separated by . (dot character).
Depending on context the key token is evaluated one by one:
- in Type#OBJECT node the token represents a name of object member;
- in Type#LIST node the token represents an zero-based index of list element, an unsigned base-10 integer value, leading zeros are not allowed.
The ABNF syntax of config key is:
config-key = *1( key-token *( "." key-token ) )
key-token = *( unescaped / escaped )
unescaped = %x00-2D / %x2F-7D / %x7F-10FFFF
; %x2E ('.') and %x7E ('~') are excluded from 'unescaped'
escaped = "~" ( "0" / "1" )
; representing '~' and '.', respectively
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionchild(Config.Key key) Create a child key to the current key.static StringescapeName(String name) Escape'~'to~0and'.'to~1in specified name.booleanisRoot()Returnstruein case the key represents root config node, otherwise it returnsfalse.name()Returns the name of Config node.parent()Returns instance of Key that represents key of parent config node.toString()Returns formatted fully-qualified key.static StringunescapeName(String escapedName) Unescape~0to'~'and~1to'.'in specified escaped name.Methods inherited from interface java.lang.Comparable
compareTo
-
Method Details
-
escapeName
Escape'~'to~0and'.'to~1in specified name.- Parameters:
name- name to be escaped- Returns:
- escaped name
-
unescapeName
Unescape~0to'~'and~1to'.'in specified escaped name.- Parameters:
escapedName- escaped name- Returns:
- unescaped name
-
parent
Returns instance of Key that represents key of parent config node.If the key represents root config node it throws an exception.
- Returns:
- key that represents key of parent config node.
- Throws:
IllegalStateException- in case you attempt to call this method on a root nodeConfigException- if not defined- See Also:
-
isRoot
boolean isRoot()Returnstruein case the key represents root config node, otherwise it returnsfalse.- Returns:
truein case the key represents root node, otherwisefalse.- Throws:
ConfigException- if not defined- See Also:
-
name
String name()Returns the name of Config node.The name of a node is the last token in fully-qualified key. Depending on context the name is evaluated one by one:
- in Type#OBJECT} node the name represents a name of object member;
- in Type#LIST} node the name represents an zero-based index of list element, an unsigned base-10 integer value, leading zeros are not allowed.
- Returns:
- name of config node
- See Also:
-
toString
String toString()Returns formatted fully-qualified key. -
child
Create a child key to the current key.- Parameters:
key- child key (relative to current key)- Returns:
- a new resolved key
- Throws:
ConfigException- if not defined
-