Package liquibase.configuration
Interface ConfigurationValueProvider
- All Known Implementing Classes:
AbstractConfigurationValueProvider
,AbstractMapConfigurationValueProvider
,CommandLineArgumentValueProvider
,DefaultsFileValueProvider
,DeprecatedConfigurationValueProvider
,EnvironmentValueProvider
,FlowCommandArgumentValueProvider
,LiquibaseSdkConfigurationValueProvider
,ScopeValueProvider
,ServletConfigurationValueProvider
,SystemPropertyValueProvider
public interface ConfigurationValueProvider
Defines a way for
LiquibaseConfiguration
to find configured values.-
Method Summary
Modifier and TypeMethodDescriptionint
Returns the precedence of values returned by this provider.getProvidedValue
(String... keyAndAliases) Lookup the given key(s) in this source.void
validate
(CommandScope commandScope) Perform any validation of keys/values stored in this provider for the given commandScope.
-
Method Details
-
getPrecedence
int getPrecedence()Returns the precedence of values returned by this provider. Higher a provider with higher precedence overrides values from lower precedence providers.
Standard provider precedence:- 400
ScopeValueProvider
- 350
DeprecatedConfigurationValueProvider
- 250 Integration specific providers
- 300: TODO JNDI attributes
- 250: TODO Servlet Context
- 200
SystemPropertyValueProvider
- 150 EnvironmentValueProvider
- 100: TODO profile/context specific properties files
- 50:
DefaultsFileValueProvider
- 400
-
getProvidedValue
Lookup the given key(s) in this source. It is up to the implementation to provide any "smoothing" or translation of key names. For example, an EnvironmentValueProvider will look check environment variables containing _'s rather than .'s.- Parameters:
keyAndAliases
- an array of keys to check, where the first element is the canonical key name, any aliases for that key as later elements.- Returns:
- null if the key is not defined in this provider.
-
validate
Perform any validation of keys/values stored in this provider for the given commandScope. For example, check for keys that do not match anything expected.- Throws:
IllegalArgumentException
-