public interface PropertyResolver {
/**
* 是否存在key关联的属性
*/
boolean containsProperty(String key);
/**
* 获取key关联的属性
*/
@Nullable
String getProperty(String key);
/**
* 获取key关联的属性,如果找不到就返回默认值
*/
String getProperty(String key, String defaultValue);
/**
* 获取key关联的属性,并转成目录类型
*/
@Nullable
<T> T getProperty(String key, Class<T> targetType);
/**
* 获取key关联的属性,如果找不到就返回默认值,并转成目录类型
*/
<T> T getProperty(String key, Class<T> targetType, T defaultValue);
/**
* 获取key关联的属性,如果没有则抛出 IllegalStateException 异常
*/
String getRequiredProperty(String key) throws IllegalStateException;
/**
* 获取key关联的属性,如果找不到就返回默认值,如果没有则抛出 IllegalStateException 异常
*/
<T> T getRequiredProperty(String key, Class<T> targetType) throws IllegalStateException;
/**
* 替换text中的占位符
*/
String resolvePlaceholders(String text);
/**
* 替换text中的占位符,如果传入的text为空,
* 或者某个占位符无法替换,就抛出 IllegalArgumentException 异常
*/
String resolveRequiredPlaceholders(String text) throws IllegalArgumentException;
}
网友评论