-
- All Superinterfaces:
Comparable<Config.Key>
- Enclosing interface:
- Config
public static interface Config.Key extends Comparable<Config.Key>
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
Config.Type.OBJECTnode the token represents a name of object member; - in
Config.Type.LISTnode 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:
Config.key()
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description Config.Keychild(Config.Key key)Create a child key to the current key.static Config.Keycreate(String key)Creates new instance of Key for specifiedkeyliteral.static StringescapeName(String name)Escape'~'to~0and'.'to~1in specified name.booleanisRoot()Returnstruein case the key represents root config node, otherwise it returnsfalse.Stringname()Returns the name of Config node.Config.Keyparent()Returns instance of Key that represents key of parent config node.StringtoString()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 Detail
-
parent
Config.Key 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 node- See Also:
isRoot()
-
isRoot
boolean isRoot()
Returnstruein case the key represents root config node, otherwise it returnsfalse.- Returns:
truein case the key represents root node, otherwisefalse.- See Also:
parent()
-
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
Config.Type.OBJECTnode the name represents a name of object member; - in
Config.Type.LISTnode 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:
Config.name()
- in
-
toString
String toString()
Returns formatted fully-qualified key.
-
child
Config.Key child(Config.Key key)
Create a child key to the current key.- Parameters:
key- child key (relative to current key)- Returns:
- a new resolved key
-
create
static Config.Key create(String key)
Creates new instance of Key for specifiedkeyliteral.Empty literal means root node. Character dot ('.') has special meaning - it separates fully-qualified key by key tokens (node names).
- Parameters:
key- formatted fully-qualified key.- Returns:
- Key instance representing specified fully-qualified key.
-
escapeName
static String escapeName(String name)
Escape'~'to~0and'.'to~1in specified name.- Parameters:
name- name to be escaped- Returns:
- escaped name
-
-