Add default-value getProperty convenience variants
Issue: SPR-8322
This commit is contained in:
@@ -192,10 +192,18 @@ public abstract class AbstractEnvironment implements ConfigurableEnvironment {
|
||||
return this.propertyResolver.getProperty(key);
|
||||
}
|
||||
|
||||
public String getProperty(String key, String defaultValue) {
|
||||
return this.propertyResolver.getProperty(key, defaultValue);
|
||||
}
|
||||
|
||||
public <T> T getProperty(String key, Class<T> targetType) {
|
||||
return this.propertyResolver.getProperty(key, targetType);
|
||||
}
|
||||
|
||||
public <T> T getProperty(String key, Class<T> targetType, T defaultValue) {
|
||||
return this.propertyResolver.getProperty(key, targetType, defaultValue);
|
||||
};
|
||||
|
||||
public <T> Class<T> getPropertyAsClass(String key, Class<T> targetType) {
|
||||
return this.propertyResolver.getPropertyAsClass(key, targetType);
|
||||
}
|
||||
|
||||
@@ -30,17 +30,44 @@ public interface PropertyResolver {
|
||||
boolean containsProperty(String key);
|
||||
|
||||
/**
|
||||
* Return the property value associated with the given key.
|
||||
* Return the property value associated with the given key, or {@code null}
|
||||
* if the key cannot be resolved.
|
||||
* @param key the property name to resolve
|
||||
* @see #getProperty(String, String)
|
||||
* @see #getProperty(String, Class)
|
||||
* @see #getRequiredProperty(String)
|
||||
*/
|
||||
String getProperty(String key);
|
||||
|
||||
/**
|
||||
* Return the property value associated with the given key, or
|
||||
* {@code defaultValue} if the key cannot be resolved.
|
||||
* @param key the property name to resolve
|
||||
* @param defaultValue the default value to return if no value is found
|
||||
* @see #getRequiredProperty(String)
|
||||
* @see #getProperty(String, Class)
|
||||
*/
|
||||
String getProperty(String key, String defaultValue);
|
||||
|
||||
/**
|
||||
* Return the property value associated with the given key, or {@code null}
|
||||
* if the key cannot be resolved.
|
||||
* @param key the property name to resolve
|
||||
* @param T the expected type of the property value
|
||||
* @see #getRequiredProperty(String, Class)
|
||||
*/
|
||||
<T> T getProperty(String key, Class<T> targetType);
|
||||
|
||||
/**
|
||||
* Return the property value associated with the given key, or
|
||||
* {@code defaultValue} if the key cannot be resolved.
|
||||
* @param key the property name to resolve
|
||||
* @param T the expected type of the property value
|
||||
* @param defaultValue the default value to return if no value is found
|
||||
* @see #getRequiredProperty(String, Class)
|
||||
*/
|
||||
<T> T getProperty(String string, Class<T> targetType, T defaultValue);
|
||||
|
||||
/**
|
||||
* Convert the property value associated with the given key to a {@code Class}
|
||||
* of type {@code T} or {@code null} if the key cannot be resolved.
|
||||
|
||||
@@ -56,6 +56,11 @@ public class PropertySourcesPropertyResolver extends AbstractPropertyResolver {
|
||||
return this.getProperty(key, String.class);
|
||||
}
|
||||
|
||||
public String getProperty(String key, String defaultValue) {
|
||||
String value = getProperty(key);
|
||||
return value == null ? defaultValue : value;
|
||||
}
|
||||
|
||||
public <T> T getProperty(String key, Class<T> targetValueType) {
|
||||
boolean debugEnabled = logger.isDebugEnabled();
|
||||
if (logger.isTraceEnabled()) {
|
||||
@@ -89,6 +94,11 @@ public class PropertySourcesPropertyResolver extends AbstractPropertyResolver {
|
||||
return null;
|
||||
}
|
||||
|
||||
public <T> T getProperty(String key, Class<T> targetType, T defaultValue) {
|
||||
T value = getProperty(key, targetType);
|
||||
return value == null ? defaultValue : value;
|
||||
};
|
||||
|
||||
public <T> Class<T> getPropertyAsClass(String key, Class<T> targetValueType) {
|
||||
boolean debugEnabled = logger.isDebugEnabled();
|
||||
if (logger.isTraceEnabled()) {
|
||||
|
||||
Reference in New Issue
Block a user