Example usage for org.springframework.core.env ConfigurablePropertyResolver resolveRequiredPlaceholders

List of usage examples for org.springframework.core.env ConfigurablePropertyResolver resolveRequiredPlaceholders

Introduction

In this page you can find the example usage for org.springframework.core.env ConfigurablePropertyResolver resolveRequiredPlaceholders.

Prototype

String resolveRequiredPlaceholders(String text) throws IllegalArgumentException;

Source Link

Document

Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by #getProperty .

Usage

From source file:org.zalando.crypto.spring.EncryptablePropertiesPlaceholderConfigurer.java

@Override
protected void processProperties(final ConfigurableListableBeanFactory beanFactoryToProcess,
        final ConfigurablePropertyResolver propertyResolver) throws BeansException {

    propertyResolver.setPlaceholderPrefix(this.placeholderPrefix);
    propertyResolver.setPlaceholderSuffix(this.placeholderSuffix);
    propertyResolver.setValueSeparator(this.valueSeparator);

    StringValueResolver valueResolver = new StringValueResolver() {
        @Override/*www  . j a  v a  2 s  .  c om*/
        public String resolveStringValue(final String strVal) {
            String resolved = ignoreUnresolvablePlaceholders ? propertyResolver.resolvePlaceholders(strVal)
                    : propertyResolver.resolveRequiredPlaceholders(strVal);

            if (resolved.startsWith(cryptoPrefix)) {

                resolved = decrypter.decrypt(resolved.substring(cryptoPrefix.length()));
            }

            return (resolved.equals(nullValue) ? null : resolved);
        }
    };

    doProcessProperties(beanFactoryToProcess, valueResolver);
}