org.springframework.core.env
Interface ConfigurablePropertyResolver

All Superinterfaces:
PropertyResolver
All Known Subinterfaces:
ConfigurableEnvironment
All Known Implementing Classes:
AbstractEnvironment, AbstractPropertyResolver, PropertySourcesPropertyResolver, StandardEnvironment, StandardPortletEnvironment, StandardServletEnvironment

public interface ConfigurablePropertyResolver
extends PropertyResolver

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

Method Summary
 ConfigurableConversionService getConversionService()
           
 void setConversionService(ConfigurableConversionService conversionService)
          Set the ConfigurableConversionService to be used when performing type conversions on properties.
 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 by validateRequiredProperties().
 void setValueSeparator(String valueSeparator)
          Specify the separating character between the placeholders replaced by this resolver and their associated default value, or null if no such special character should be processed as a value separator.
 void validateRequiredProperties()
          Validate that each of the properties specified by setRequiredProperties(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, getPropertyAsClass, getRequiredProperty, getRequiredProperty, resolvePlaceholders, resolveRequiredPlaceholders
 

Method Detail

getConversionService

ConfigurableConversionService getConversionService()
Returns:
the ConfigurableConversionService 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());
 
See Also:
PropertyResolver.getProperty(String, Class), ConverterRegistry.addConverter(org.springframework.core.convert.converter.Converter)

setConversionService

void setConversionService(ConfigurableConversionService conversionService)
Set the ConfigurableConversionService to be used when performing type conversions on properties.

Note: as an alternative to fully replacing the ConversionService, consider adding or removing individual Converter instances by drilling into getConversionService() and calling methods such as #addConverter.

See Also:
PropertyResolver.getProperty(String, Class), getConversionService(), ConverterRegistry.addConverter(org.springframework.core.convert.converter.Converter)

setPlaceholderPrefix

void setPlaceholderPrefix(String placeholderPrefix)
Set the prefix that placeholders replaced by this resolver must begin with.


setPlaceholderSuffix

void setPlaceholderSuffix(String placeholderSuffix)
Set the suffix that placeholders replaced by this resolver must end with.


setValueSeparator

void setValueSeparator(String valueSeparator)
Specify the separating character between the placeholders replaced by this resolver and their associated default value, or null if no such special character should be processed as a value separator.


setRequiredProperties

void setRequiredProperties(String... requiredProperties)
Specify which properties must be present, to be verified by validateRequiredProperties().


validateRequiredProperties

void validateRequiredProperties()
                                throws MissingRequiredPropertiesException
Validate that each of the properties specified by setRequiredProperties(java.lang.String...) is present and resolves to a non-null value.

Throws:
MissingRequiredPropertiesException - if any of the required properties are not resolvable.