public interface PropertySource
This interface models a provider that serves configuration properties. The contained properties may be read from a Map of single or several sources (composite). PropertySources are the building blocks of the final configuration.
Implementations of this interface must be
A PropertySourceProvider will get picked up via the
ServiceLoader mechanism and can be registered via
If you like to register multiple PropertySources at the same time
you can use the
|Modifier and Type||Field and Description|
A resusable instance of an empty PropertySource.
property name to override default tamaya ordinals
|Modifier and Type||Method and Description|
Access a property.
Get the name of the property source.
The ordinal value is the default ordering parameter which definines the default order of auto-discovered property sources.
Access the current properties as Set.
Determines if this config source can be scanned for its list of properties.
static final String TAMAYA_ORDINAL
static final PropertySource EMPTY
Important Hints for custom implementations:
If a custom implementation should be invoked before the default implementations, use a value > 1000
If a custom implementation should be invoked after the default implementations, use a value < 100
Reordering of the default order of the config-sources:
Example: If the properties file/s should be used before the other implementations, you have to configure an ordinal > 1000. That means, you have to add e.g. tamaya.ordinal=401 to /META-INF/javaconfiguration.properties . Hint: In case of property files every file is handled as independent config-source, but all of them have ordinal 400 by default (and can be reordered in a fine-grained manner.In cases where it is not possible to change a config sources ordinal value, you may have several options:
ConfigurationContextBuilderto redefine the source order and finally use
ConfigurationProvider.setConfiguration(Configuration)to change the current default
PropertyValue get(String key)
key- the property's key, not
map.get(key) == value, including also any metadata. In case a value is null, simply return
default boolean isScannable()
PropertySources which are not scannable might not be able to find all the
configured values to provide via
getProperties(). This might happen
if the underlying storage doesn't support listing.
trueif this PropertySource can be scanned for its list of properties,
falseif it cannot/should not be scanned.
Copyright © 2014–2017 Apache Software Foundation. All rights reserved.