- All Implemented Interfaces:
ConfigParser
ConfigParser
implementation that supports following media types:
"application/hocon" and
"application/json".
The parser implementation supports ServiceLoader
, i.e. Config.Builder
can automatically load and register HoconConfigParser
instance,
if not disabled
.
And of course it can be registered programmatically
.
Priority of the HoconConfigParser
to be used by Config.Builder
,
if loaded automatically as a service
, is 200.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.config.spi.ConfigParser
ConfigParser.Content
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
A String constant representing "application/hocon" media type.static final String
A String constant representing "application/json" media type.static final int
Priority of the parser used if registered byConfig.Builder
automatically. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic HoconConfigParserBuilder
builder()
Create a new fluent API builder for a HOCON config parser.static HoconConfigParser
create()
Create a new instance of HOCON config parser using default configuration.parse
(ConfigParser.Content content) Parses a specifiedConfigContent
into ahierarchical configuration representation
.parse
(ConfigParser.Content content, Function<String, Optional<InputStream>> relativeResolver) Parses a specifiedConfigContent
into ahierarchical configuration representation
.Returns set of supported media types by the parser.Config parser can define supported file suffixes.
-
Field Details
-
MEDIA_TYPE_APPLICATION_HOCON
A String constant representing "application/hocon" media type.- See Also:
-
MEDIA_TYPE_APPLICATION_JSON
A String constant representing "application/json" media type.- See Also:
-
PRIORITY
public static final int PRIORITYPriority of the parser used if registered byConfig.Builder
automatically.- See Also:
-
-
Constructor Details
-
HoconConfigParser
Deprecated.To be used by Java Service Loader only!!!
-
-
Method Details
-
create
Create a new instance of HOCON config parser using default configuration.- Returns:
- a new instance of parser
- See Also:
-
builder
Create a new fluent API builder for a HOCON config parser.- Returns:
- a new builder instance
-
supportedMediaTypes
Description copied from interface:ConfigParser
Returns set of supported media types by the parser.Set of supported media types is used when config system looks for appropriate parser based on media type of content.
ParsableSource
implementations can useMediaTypes
to probe for media type of content to provide it to config system throughConfigParser.Content.Builder.mediaType(String)
.- Specified by:
supportedMediaTypes
in interfaceConfigParser
- Returns:
- supported media types by the parser
-
parse
Description copied from interface:ConfigParser
Parses a specifiedConfigContent
into ahierarchical configuration representation
.Never returns
null
.- Specified by:
parse
in interfaceConfigParser
- Parameters:
content
- a content to be parsed- Returns:
- parsed hierarchical configuration representation
-
parse
public ConfigNode.ObjectNode parse(ConfigParser.Content content, Function<String, Optional<InputStream>> relativeResolver) Description copied from interface:ConfigParser
Parses a specifiedConfigContent
into ahierarchical configuration representation
.Never returns
null
.- Specified by:
parse
in interfaceConfigParser
- Parameters:
content
- a content to be parsedrelativeResolver
- function to resolve relative resources to this resource (if supported by the source)- Returns:
- parsed hierarchical configuration representation
-
supportedSuffixes
Description copied from interface:ConfigParser
Config parser can define supported file suffixes. If such are defined, Helidon will use these to discover default configuration sources. For example if there is aConfigParser
that returnsxml
, config would look formeta-config.xml
to discover meta configuration, and forapplication.xml
on file system and on classpath to discover configuration files.Note that the suffixes must resolve into a media type supported by a config parser (see
MediaTypes.detectExtensionType(String)
).- Specified by:
supportedSuffixes
in interfaceConfigParser
- Returns:
- a set of file suffixes supported by this config parser.
-
builder()
to construct a customized instance, orcreate()
to get an instance with defaults