This commit is contained in:
Looly 2020-01-09 10:52:43 +08:00
parent 15151f777e
commit 7ef693efbf
2 changed files with 39 additions and 15 deletions

View File

@ -13,107 +13,119 @@ import cn.hutool.core.convert.Convert;
*
* @author Looly
*/
public interface OptNullBasicTypeFromObjectGetter<K> extends OptNullBasicTypeGetter<K>{
public interface OptNullBasicTypeFromObjectGetter<K> extends OptNullBasicTypeGetter<K> {
@Override
default String getStr(K key, String defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toStr(obj, defaultValue);
}
@Override
default Integer getInt(K key, Integer defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toInt(obj, defaultValue);
}
@Override
default Short getShort(K key, Short defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toShort(obj, defaultValue);
}
@Override
default Boolean getBool(K key, Boolean defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toBool(obj, defaultValue);
}
@Override
default Long getLong(K key, Long defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toLong(obj, defaultValue);
}
@Override
default Character getChar(K key, Character defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toChar(obj, defaultValue);
}
@Override
default Float getFloat(K key, Float defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toFloat(obj, defaultValue);
}
@Override
default Double getDouble(K key, Double defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toDouble(obj, defaultValue);
}
@Override
default Byte getByte(K key, Byte defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toByte(obj, defaultValue);
}
@Override
default BigDecimal getBigDecimal(K key, BigDecimal defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toBigDecimal(obj, defaultValue);
}
@Override
default BigInteger getBigInteger(K key, BigInteger defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toBigInteger(obj, defaultValue);
}
@Override
default <E extends Enum<E>> E getEnum(Class<E> clazz, K key, E defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toEnum(clazz, obj, defaultValue);
}
@Override
default Date getDate(K key, Date defaultValue) {
final Object obj = getObj(key);
if(null == obj) {
if (null == obj) {
return defaultValue;
}
return Convert.toDate(obj, defaultValue);

View File

@ -9,7 +9,7 @@ import cn.hutool.core.convert.Convert;
/**
* 基本类型的getter接口抽象实现所有类型的值获取都是通过将String转换而来<br>
* 用户只需实现getStr方法即可其他类型将会从String结果中转换 在不提供默认值的情况下 如果值不存在或获取错误返回null<br>
*
*
* @author Looly
*/
public interface OptNullBasicTypeFromStringGetter<K> extends OptNullBasicTypeGetter<K> {
@ -17,50 +17,62 @@ public interface OptNullBasicTypeFromStringGetter<K> extends OptNullBasicTypeGet
default Object getObj(K key, Object defaultValue) {
return getStr(key, null == defaultValue ? null : defaultValue.toString());
}
@Override
default Integer getInt(K key, Integer defaultValue) {
return Convert.toInt(getStr(key), defaultValue);
}
@Override
default Short getShort(K key, Short defaultValue) {
return Convert.toShort(getStr(key), defaultValue);
}
@Override
default Boolean getBool(K key, Boolean defaultValue) {
return Convert.toBool(getStr(key), defaultValue);
}
@Override
default Long getLong(K key, Long defaultValue) {
return Convert.toLong(getStr(key), defaultValue);
}
@Override
default Character getChar(K key, Character defaultValue) {
return Convert.toChar(getStr(key), defaultValue);
}
@Override
default Float getFloat(K key, Float defaultValue) {
return Convert.toFloat(getStr(key), defaultValue);
}
@Override
default Double getDouble(K key, Double defaultValue) {
return Convert.toDouble(getStr(key), defaultValue);
}
@Override
default Byte getByte(K key, Byte defaultValue) {
return Convert.toByte(getStr(key), defaultValue);
}
@Override
default BigDecimal getBigDecimal(K key, BigDecimal defaultValue) {
return Convert.toBigDecimal(getStr(key), defaultValue);
}
@Override
default BigInteger getBigInteger(K key, BigInteger defaultValue) {
return Convert.toBigInteger(getStr(key), defaultValue);
}
@Override
default <E extends Enum<E>> E getEnum(Class<E> clazz, K key, E defaultValue) {
return Convert.toEnum(clazz, getStr(key), defaultValue);
}
@Override
default Date getDate(K key, Date defaultValue) {
return Convert.toDate(getStr(key), defaultValue);