package com.xiaoleilu.hutool.getter; import java.math.BigDecimal; import java.math.BigInteger; /** * 可选的基本类型的getter接口<br> * 提供一个统一的接口定义返回不同类型的值(基本类型)<br> * 如果值不存在或获取错误,返回默认值 * @author Looly */ public interface OptBasicTypeGetter<K> { /*-------------------------- 基本类型 start -------------------------------*/ /** * 获取Object属性值 * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Object getObj(K key, Object defaultValue); /** * 获取字符串型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ String getStr(K key, String defaultValue); /** * 获取int型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Integer getInt(K key, Integer defaultValue); /** * 获取short型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Short getShort(K key, Short defaultValue); /** * 获取boolean型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Boolean getBool(K key, Boolean defaultValue); /** * 获取Long型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Long getLong(K key, Long defaultValue); /** * 获取char型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Character getChar(K key, Character defaultValue); /** * 获取float型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Float getFloat(K key, Float defaultValue); /** * 获取double型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Double getDouble(K key, Double defaultValue); /** * 获取byte型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ Byte getByte(K key, Byte defaultValue); /** * 获取BigDecimal型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ BigDecimal getBigDecimal(K key, BigDecimal defaultValue); /** * 获取BigInteger型属性值<br> * 若获得的值为不可见字符,使用默认值 * * @param key 属性名 * @param defaultValue 默认值 * @return 属性值,无对应值返回defaultValue */ BigInteger getBigInteger(K key, BigInteger defaultValue); /** * 获得Enum类型的值 * * @param clazz Enum的Class * @param key KEY * @param defaultValue 默认值 * @return Enum类型的值,无则返回Null */ public <E extends Enum<E>> E getEnum(Class<E> clazz, K key, E defaultValue); /*-------------------------- 基本类型 end -------------------------------*/ }