diff --git a/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java b/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java index a32ce19d..dcc41ac0 100644 --- a/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java +++ b/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java @@ -20,6 +20,7 @@ import java.io.InputStreamReader; import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.function.Consumer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -240,6 +241,53 @@ public class PropertiesUtils { public Long getPropertyToLong(String key, String defValue) { return ObjectUtils.toLong(getProperty(key, defValue)); } + + /** + * 获取配置文件中的值,如果存在则 Consumer + * @author ThinkGem + */ + public void getPropertyIfNotBlank(String key, Consumer consumer) { + String value = getProperty(key, StringUtils.EMPTY); + if (StringUtils.isNotBlank(value)) { + consumer.accept(value); + } + } + + /** + * 获取配置文件中的值,如果存在则转换为 String[] 并 Consumer + */ + public void getPropertyToArrayIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(StringUtils.splitComma(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Boolean 并 Consumer + */ + public void getPropertyToBooleanIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toBoolean(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Integer 并 Consumer + */ + public void getPropertyToIntegerIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toInteger(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Long 并 Consumer + */ + public void getPropertyToLongIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toLong(value)); + }); + } /** * 获取标准key,去减号并将后一个字母转换为大写