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

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

Introduction

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

Prototype

void setValueSeparator(@Nullable String valueSeparator);

Source Link

Document

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.

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//w w  w. ja  va  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);
}