## org.springframework.core.env
Interface ConfigurablePropertyResolver

All Superinterfaces:
  PropertyResolver

All Known Subinterfaces:
  ConfigurableEnvironment, ConfigurableWebEnvironment

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.