Package io.helidon.config
Interface Config.Key
-
- 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 Default Methods Modifier and Type Method Description Config.Keychild(Config.Key key)static Config.Keycreate(String key)Creates new instance of Key for specifiedkeyliteral.static StringescapeName(String name)Escape'~'to~0and'.'to~1in specified name.default 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 returns
null.- Returns:
- key that represents key of parent config node.
- See Also:
isRoot()
-
isRoot
default 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
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
-
-