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

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

Introduction

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

Prototype

void setPlaceholderPrefix(String placeholderPrefix);

Source Link

Document

Set the prefix that placeholders replaced by this resolver must begin with.

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/*from  w  w w.  j a va2  s.c  o m*/
        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);
}