Module io.inverno.mod.configuration
Class PropertiesConfigurationSource
java.lang.Object
io.inverno.mod.configuration.internal.AbstractConfigurationSource<io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQuery<String,PropertiesConfigurationSource>,io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashExecutableConfigurationQuery<String,PropertiesConfigurationSource>,io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashListConfigurationQuery<String,PropertiesConfigurationSource>,String,PropertiesConfigurationSource>
io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<String,PropertiesConfigurationSource>
io.inverno.mod.configuration.source.PropertiesConfigurationSource
- All Implemented Interfaces:
ConfigurationSource,DefaultableConfigurationSource
public class PropertiesConfigurationSource
extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<String,PropertiesConfigurationSource>
A configuration source backed by a Properties object.
This source supports parameterized configuration properties defined as follows:
Properties properties = new Properties();
properties.setProperty("web.server_port", "8080");
properties.setProperty("web.server_port[profile=\"ssl\"]", "8443");
properties.setProperty("db.url[env=\"dev\"]", "jdbc:oracle:thin:@dev.db.server:1521:sid");
properties.setProperty("db.url[env=\"prod\",zone=\"eu\"]", "jdbc:oracle:thin:@prod_eu.db.server:1521:sid");
properties.setProperty("db.url[env=\"prod\",zone=\"us\"]", "jdbc:oracle:thin:@prod_us.db.server:1521:sid");
- Since:
- 1.6
- Author:
- Jeremy Kuhn
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.inverno.mod.configuration.internal.AbstractHashConfigurationSource
io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A, B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQueryResult<A, B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A, B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashExecutableConfigurationQuery<A, B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A, B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashListConfigurationQuery<A, B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A, B>> -
Field Summary
Fields inherited from class io.inverno.mod.configuration.internal.AbstractHashConfigurationSource
defaultingStrategyFields inherited from class io.inverno.mod.configuration.internal.AbstractConfigurationSource
decoder, defaultParameters, original -
Constructor Summary
ConstructorsConstructorDescriptionPropertiesConfigurationSource(Properties properties) Creates a properties configuration source with the specifiedProperties.PropertiesConfigurationSource(Properties properties, SplittablePrimitiveDecoder<String> decoder) Creates a properties configuration source with the specifiedPropertiesand the specified string value decoder. -
Method Summary
Modifier and TypeMethodDescriptionprotected Mono<List<ConfigurationProperty>> load()Loads the configuration properties.withDefaultingStrategy(DefaultingStrategy defaultingStrategy) Returns a proxy of the defaultable configuration source instance using the specified defaulting strategy.withParameters(List<ConfigurationKey.Parameter> parameters) Defines parameters that specify the context in which configuration properties are to be retrieved.Methods inherited from class io.inverno.mod.configuration.internal.AbstractHashConfigurationSource
get, listMethods inherited from class io.inverno.mod.configuration.internal.AbstractConfigurationSource
getDecoder, setDecoder, unwrap, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParametersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.inverno.mod.configuration.ConfigurationSource
unwrap, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters
-
Constructor Details
-
PropertiesConfigurationSource
Creates a properties configuration source with the specified
Properties.- Parameters:
properties- the properties
-
PropertiesConfigurationSource
public PropertiesConfigurationSource(Properties properties, SplittablePrimitiveDecoder<String> decoder) Creates a properties configuration source with the specified
Propertiesand the specified string value decoder.- Parameters:
properties- the propertiesdecoder- a string decoder
-
-
Method Details
-
withParameters
public PropertiesConfigurationSource withParameters(List<ConfigurationKey.Parameter> parameters) throws IllegalArgumentException Description copied from interface:ConfigurationSourceDefines parameters that specify the context in which configuration properties are to be retrieved.
- Specified by:
withParametersin interfaceConfigurationSource- Specified by:
withParametersin classio.inverno.mod.configuration.internal.AbstractConfigurationSource<io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQuery<String,PropertiesConfigurationSource>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashExecutableConfigurationQuery<String, PropertiesConfigurationSource>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashListConfigurationQuery<String, PropertiesConfigurationSource>, String, PropertiesConfigurationSource> - Parameters:
parameters- a list of parameters- Returns:
- the executable configuration query
- Throws:
IllegalArgumentException- if parameters were specified more than once
-
withDefaultingStrategy
Description copied from interface:DefaultableConfigurationSourceReturns a proxy of the defaultable configuration source instance using the specified defaulting strategy.
- Parameters:
defaultingStrategy- a defaulting strategy- Returns:
- a new defaultable configuration source
-
load
Description copied from class:io.inverno.mod.configuration.internal.AbstractHashConfigurationSourceLoads the configuration properties.
- Specified by:
loadin classio.inverno.mod.configuration.internal.AbstractHashConfigurationSource<String,PropertiesConfigurationSource> - Returns:
- A mono emitting the list of configuration properties
-