- java.lang.Object
-
- io.helidon.config.AbstractSourceBuilder<B,U>
-
- io.helidon.config.AbstractConfigSourceBuilder<UrlConfigSource.Builder,URL>
-
- io.helidon.config.UrlConfigSource.Builder
-
- All Implemented Interfaces:
Builder<UrlConfigSource>
,ParsableSource.Builder<UrlConfigSource.Builder>
,PollableSource.Builder<UrlConfigSource.Builder>
,Source.Builder<UrlConfigSource.Builder>
,WatchableSource.Builder<UrlConfigSource.Builder,URL>
,Supplier<UrlConfigSource>
- Enclosing class:
- UrlConfigSource
public static final class UrlConfigSource.Builder extends AbstractConfigSourceBuilder<UrlConfigSource.Builder,URL> implements PollableSource.Builder<UrlConfigSource.Builder>, WatchableSource.Builder<UrlConfigSource.Builder,URL>, ParsableSource.Builder<UrlConfigSource.Builder>, Builder<UrlConfigSource>
Url ConfigSource Builder.It allows to configure following properties:
url
- configuration endpoint URL;mandatory
- is existence of configuration resource mandatory (by default) or isoptional
?media-type
- configuration content media type to be used to look for appropriateConfigParser
;parser
- or directly setConfigParser
instance to be used to parse the source;
If
media-type
not set it uses HTTP response headercontent-type
. Ifmedia-type
not returned it tries to guess it from url suffix.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UrlConfigSource
build()
Builds new instance of Url ConfigSource.UrlConfigSource.Builder
changeWatcher(ChangeWatcher<URL> changeWatcher)
Configure a change watcher.UrlConfigSource.Builder
config(Config metaConfig)
Configure builder from meta configuration.UrlConfigSource.Builder
mediaType(String mediaType)
Media type if this is aParsableSource
and explicit media type is configured.UrlConfigSource.Builder
parser(ConfigParser parser)
A parser if this is aParsableSource
and explicit parser is configured.UrlConfigSource.Builder
pollingStrategy(PollingStrategy pollingStrategy)
Configure a polling strategy.UrlConfigSource.Builder
url(URL url)
URL of the configuration.-
Methods inherited from class io.helidon.config.AbstractConfigSourceBuilder
mediaTypeMapping, parserMapping
-
Methods inherited from class io.helidon.config.AbstractSourceBuilder
optional, retryPolicy
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.helidon.config.spi.PollableSource.Builder
pollingStrategy
-
Methods inherited from interface io.helidon.config.spi.Source.Builder
optional, optional, retryPolicy
-
-
-
-
Method Detail
-
url
public UrlConfigSource.Builder url(URL url)
URL of the configuration.- Parameters:
url
- of configuration source- Returns:
- updated builder instance
-
config
public UrlConfigSource.Builder config(Config metaConfig)
Configure builder from meta configuration.The following configuration options are supported:
Optional configuration parameters key default value description optional false
Configure to true
if this source should not fail configuration setup when underlying data is missing.polling-strategy No polling strategy is added by default Meta configuration of a polling strategy to be used with this source, add configuration to properties
sub node.change-watcher No change watcher is added by default Meta configuration of a change watcher to be used with this source, add configuration to properties
sub node.retry-policy No retry policy is added by default Meta configuration of a retry policy to be used to load this source, add configuration to properties
sub node.Media type and type mapping media-type Media type from loaded data is used by default for parsable config sources Explicit media type to use, such as when a file has invalid suffix, or when we need to explicitly mark the media type. media-type-mapping No media type mapping is done by default A mapping of key to a media type, allowing us to have a key that contains a sub-tree (e.g. a key that contains json data) - when we configure a mapping of the key to application/json
, the data would be expanded into config as a proper tree structureurl
- URL of the configuration source
- Overrides:
config
in classAbstractConfigSourceBuilder<UrlConfigSource.Builder,URL>
- Parameters:
metaConfig
- configuration properties used to configure a builder instance.- Returns:
- updated builder instance
-
build
public UrlConfigSource build()
Builds new instance of Url ConfigSource.If
media-type
not set it tries to usecontent-type
response header or guesses it from file extension.- Specified by:
build
in interfaceBuilder<UrlConfigSource>
- Returns:
- new instance of Url ConfigSource.
-
parser
public UrlConfigSource.Builder parser(ConfigParser parser)
Description copied from class:AbstractConfigSourceBuilder
A parser if this is aParsableSource
and explicit parser is configured.- Specified by:
parser
in interfaceParsableSource.Builder<UrlConfigSource.Builder>
- Overrides:
parser
in classAbstractConfigSourceBuilder<UrlConfigSource.Builder,URL>
- Parameters:
parser
- parser configured for this source- Returns:
- updated builder instance
-
mediaType
public UrlConfigSource.Builder mediaType(String mediaType)
Description copied from class:AbstractConfigSourceBuilder
Media type if this is aParsableSource
and explicit media type is configured.- Specified by:
mediaType
in interfaceParsableSource.Builder<UrlConfigSource.Builder>
- Overrides:
mediaType
in classAbstractConfigSourceBuilder<UrlConfigSource.Builder,URL>
- Parameters:
mediaType
- media type configured for this source- Returns:
- updated builder instance
-
changeWatcher
public UrlConfigSource.Builder changeWatcher(ChangeWatcher<URL> changeWatcher)
Description copied from class:AbstractSourceBuilder
Configure a change watcher. This method must be exposed by builders of sources that change watching (WatchableSource
). The type of the change watcher must match the type of the target of this source.- Specified by:
changeWatcher
in interfaceWatchableSource.Builder<UrlConfigSource.Builder,URL>
- Overrides:
changeWatcher
in classAbstractSourceBuilder<UrlConfigSource.Builder,URL>
- Parameters:
changeWatcher
- change watcher to use, such asFileSystemWatcher
- Returns:
- updated builder instance
-
pollingStrategy
public UrlConfigSource.Builder pollingStrategy(PollingStrategy pollingStrategy)
Description copied from class:AbstractSourceBuilder
Configure a polling strategy. This method must be exposed by builders of sources that support polling. If you see this method as being protected in your builder, the source has removed support for polling, such asClasspathConfigSource
.- Specified by:
pollingStrategy
in interfacePollableSource.Builder<UrlConfigSource.Builder>
- Overrides:
pollingStrategy
in classAbstractSourceBuilder<UrlConfigSource.Builder,URL>
- Parameters:
pollingStrategy
- polling strategy to use- Returns:
- updated builder instance
-
-