新增一些便捷方法,如果有设定属性值再使用

This commit is contained in:
thinkgem
2024-04-18 21:56:09 +08:00
parent 2029cfc65a
commit 396e506936

View File

@@ -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<String> consumer) {
String value = getProperty(key, StringUtils.EMPTY);
if (StringUtils.isNotBlank(value)) {
consumer.accept(value);
}
}
/**
* 获取配置文件中的值,如果存在则转换为 String[] 并 Consumer
*/
public void getPropertyToArrayIfNotBlank(String key, Consumer<String[]> consumer) {
getPropertyIfNotBlank(key, value -> {
consumer.accept(StringUtils.splitComma(value));
});
}
/**
* 获取配置文件中的值,如果存在则转换为 Boolean 并 Consumer
*/
public void getPropertyToBooleanIfNotBlank(String key, Consumer<Boolean> consumer) {
getPropertyIfNotBlank(key, value -> {
consumer.accept(ObjectUtils.toBoolean(value));
});
}
/**
* 获取配置文件中的值,如果存在则转换为 Integer 并 Consumer
*/
public void getPropertyToIntegerIfNotBlank(String key, Consumer<Integer> consumer) {
getPropertyIfNotBlank(key, value -> {
consumer.accept(ObjectUtils.toInteger(value));
});
}
/**
* 获取配置文件中的值,如果存在则转换为 Long 并 Consumer
*/
public void getPropertyToLongIfNotBlank(String key, Consumer<Long> consumer) {
getPropertyIfNotBlank(key, value -> {
consumer.accept(ObjectUtils.toLong(value));
});
}
/**
* 获取标准key去减号并将后一个字母转换为大写