说明: 用于针对任何基础源解析属性的接口。
该接口有以下几个方法:
// 返回给定属性键是否可用于解析,即给定键的值是否为空。
boolean containsProperty(String key);
// 返回与给定键关联的属性值,如果无法解析该键,则返回null。
String getProperty(String key);
// 返回与给定键关联的属性值,如果无法解析该键,则返回defaultValue。
String getProperty(String key, String defaultValue);
// 返回与给定键关联的属性值,如果无法解析该键,则返回null。
<T> T getProperty(String key, Class<T> targetType);
// 返回与给定键关联的属性值,如果无法解析该键,则返回defaultValue。
<T> T getProperty(String key, Class<T> targetType, T defaultValue);
// 返回与给定键关联的属性值(从不为空)。
String getRequiredProperty(String key) throws IllegalStateException;
// 返回与给定键关联的属性值,转换为给定的targetType(从不为空)。
<T> T getRequiredProperty(String key, Class<T> targetType) throws IllegalStateException;
// 解析给定文本中的${…}占位符,将其替换为getProperty解析的相应属性值。不带默认值的不可解析占位符将被忽略并传递
String resolvePlaceholders(String text);
// 解析给定文本中的${…}占位符,将其替换为getProperty解析的相应属性值。没有默认值的不可解析占位符将导致引发IllegalArgumentException。
String resolveRequiredPlaceholders(String text) throws IllegalArgumentException;