- All Superinterfaces:
Comparable<Config.Key>
,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
Config.Type.OBJECT
node the token represents a name of object member; - in
Config.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 Config.Key
Creates new instance of Key for specifiedkey
literal.static String
escapeName
(String name) Escape'~'
to~0
and'.'
to~1
in specified name.parent()
Returns instance of Key that represents key of parent config node.static String
unescapeName
(String escapedName) Unescape~0
to'~'
and~1
to'.'
in specified escaped name.Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface io.helidon.common.config.Config.Key
isRoot, name, toString
-
Method Details
-
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.
- Specified by:
parent
in interfaceConfig.Key
- 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:
-
child
Create a child key to the current key.- Specified by:
child
in interfaceConfig.Key
- Parameters:
key
- child key (relative to current key)- Returns:
- a new resolved key
-
create
Creates new instance of Key for specifiedkey
literal.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
Escape'~'
to~0
and'.'
to~1
in specified name.- Parameters:
name
- name to be escaped- Returns:
- escaped name
-
unescapeName
Unescape~0
to'~'
and~1
to'.'
in specified escaped name.- Parameters:
escapedName
- escaped name- Returns:
- unescaped name
-