說(shuō)明:??用于針對(duì)任何基礎(chǔ)源解析屬性的接口。
該接口有以下幾個(gè)方法:
//?返回給定屬性鍵是否可用于解析,即給定鍵的值是否為空。
boolean containsProperty(String key);
//?返回與給定鍵關(guān)聯(lián)的屬性值,如果無(wú)法解析該鍵,則返回null。
String getProperty(String key);
//?返回與給定鍵關(guān)聯(lián)的屬性值,如果無(wú)法解析該鍵,則返回defaultValue。
String getProperty(String key, String defaultValue);
//?返回與給定鍵關(guān)聯(lián)的屬性值,如果無(wú)法解析該鍵,則返回null。
<T> T getProperty(String key, Class<T> targetType);
//?返回與給定鍵關(guān)聯(lián)的屬性值,如果無(wú)法解析該鍵,則返回defaultValue。
<T> T getProperty(String key, Class<T> targetType, T defaultValue);
//?返回與給定鍵關(guān)聯(lián)的屬性值(從不為空)。
String getRequiredProperty(String key) throws IllegalStateException;
//?返回與給定鍵關(guān)聯(lián)的屬性值,轉(zhuǎn)換為給定的targetType(從不為空)。
<T> T getRequiredProperty(String key, Class<T> targetType) throws IllegalStateException;
//?解析給定文本中的${…}占位符,將其替換為getProperty解析的相應(yīng)屬性值。不帶默認(rèn)值的不可解析占位符將被忽略并傳遞
String resolvePlaceholders(String text);
//?解析給定文本中的${…}占位符,將其替換為getProperty解析的相應(yīng)屬性值。沒(méi)有默認(rèn)值的不可解析占位符將導(dǎo)致引發(fā)IllegalArgumentException。
String resolveRequiredPlaceholders(String text) throws IllegalArgumentException;