Package org.springframework.core.env
Interface ConfigurablePropertyResolver
- All Superinterfaces:
PropertyResolver
- All Known Subinterfaces:
ConfigurableEnvironment
,ConfigurableWebEnvironment
- All Known Implementing Classes:
AbstractEnvironment
,AbstractPropertyResolver
,MockEnvironment
,PropertySourcesPropertyResolver
,StandardEnvironment
,StandardServletEnvironment
Configuration interface to be implemented by most if not all
PropertyResolver
types. Provides facilities for accessing and customizing the
ConversionService
used when converting property values from one type to another.- Since:
- 3.1
- Author:
- Chris Beams, Stephane Nicoll
-
Method Summary
Modifier and TypeMethodDescriptionReturn theConfigurableConversionService
used when performing type conversions on properties.void
setConversionService
(ConfigurableConversionService conversionService) Set theConfigurableConversionService
to be used when performing type conversions on properties.void
setEscapeCharacter
(Character escapeCharacter) Specify the escape character to use to ignore placeholder prefix or value separator, ornull
if no escaping should take place.void
setIgnoreUnresolvableNestedPlaceholders
(boolean ignoreUnresolvableNestedPlaceholders) Set whether to throw an exception when encountering an unresolvable placeholder nested within the value of a given property.void
setPlaceholderPrefix
(String placeholderPrefix) Set the prefix that placeholders replaced by this resolver must begin with.void
setPlaceholderSuffix
(String placeholderSuffix) Set the suffix that placeholders replaced by this resolver must end with.void
setRequiredProperties
(String... requiredProperties) Specify which properties must be present, to be verified byvalidateRequiredProperties()
.void
setValueSeparator
(String valueSeparator) Specify the separating character between the placeholders replaced by this resolver and their associated default value, ornull
if no such special character should be processed as a value separator.void
Validate that each of the properties specified bysetRequiredProperties(java.lang.String...)
is present and resolves to a non-null
value.Methods inherited from interface org.springframework.core.env.PropertyResolver
containsProperty, getProperty, getProperty, getProperty, getProperty, getRequiredProperty, getRequiredProperty, resolvePlaceholders, resolveRequiredPlaceholders
-
Method Details
-
getConversionService
ConfigurableConversionService getConversionService()Return theConfigurableConversionService
used when performing type conversions on properties.The configurable nature of the returned conversion service allows for the convenient addition and removal of individual
Converter
instances:ConfigurableConversionService cs = env.getConversionService(); cs.addConverter(new FooConverter());
-
setConversionService
Set theConfigurableConversionService
to be used when performing type conversions on properties.Note: as an alternative to fully replacing the
ConversionService
, consider adding or removing individualConverter
instances by drilling intogetConversionService()
and calling methods such as#addConverter
. -
setPlaceholderPrefix
Set the prefix that placeholders replaced by this resolver must begin with. -
setPlaceholderSuffix
Set the suffix that placeholders replaced by this resolver must end with. -
setValueSeparator
Specify the separating character between the placeholders replaced by this resolver and their associated default value, ornull
if no such special character should be processed as a value separator. -
setEscapeCharacter
Specify the escape character to use to ignore placeholder prefix or value separator, ornull
if no escaping should take place.- Since:
- 6.2
-
setIgnoreUnresolvableNestedPlaceholders
void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders) Set whether to throw an exception when encountering an unresolvable placeholder nested within the value of a given property. Afalse
value indicates strict resolution, i.e. that an exception will be thrown. Atrue
value indicates that unresolvable nested placeholders should be passed through in their unresolved ${...} form.Implementations of
PropertyResolver.getProperty(String)
and its variants must inspect the value set here to determine correct behavior when property values contain unresolvable placeholders.- Since:
- 3.2
-
setRequiredProperties
Specify which properties must be present, to be verified byvalidateRequiredProperties()
. -
validateRequiredProperties
Validate that each of the properties specified bysetRequiredProperties(java.lang.String...)
is present and resolves to a non-null
value.- Throws:
MissingRequiredPropertiesException
- if any of the required properties are not resolvable.
-