Class AbstractSetting

java.lang.Object
org.miaixz.bus.setting.magic.AbstractSetting
All Implemented Interfaces:
Serializable, org.miaixz.bus.core.lang.getter.GroupedTypeGetter<CharSequence,CharSequence>, org.miaixz.bus.core.lang.getter.TypeGetter<CharSequence>
Direct Known Subclasses:
Setting

public abstract class AbstractSetting extends Object implements org.miaixz.bus.core.lang.getter.TypeGetter<CharSequence>, org.miaixz.bus.core.lang.getter.GroupedTypeGetter<CharSequence,CharSequence>, Serializable
Setting抽象类
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    数组类型值默认分隔符
    static final String
    默认分组
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <P, T> T
    get(org.miaixz.bus.core.center.function.FunctionX<P,T> func)
    根据lambda的方法引用,获取
    getByGroupNotEmpty(String key, String group, String defaultValue)
    获得字符串类型值,如果字符串为null或者""返回默认值
    getObject(CharSequence key, Object defaultValue)
     
    getStrs(CharSequence key, String[] defaultValue)
    获得数组型
    获得数组型
    获得数组型默认逗号分隔 若配置文件中键值对类似于:
    获得数组型,可自定义分隔符 假定分隔符为逗号,若配置文件中键值对类似于:
    <T> T
    toBean(CharSequence group, Class<T> beanClass)
    将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
    <T> T
    toBean(CharSequence group, T bean)
    将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
    <T> T
    toBean(Class<T> beanClass)
    将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
    <T> T
    toBean(T bean)
    将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.miaixz.bus.core.lang.getter.GroupedTypeGetter

    getBigDecimalByGroup, getBigDecimalByGroup, getBigIntegerByGroup, getBigIntegerByGroup, getBoolByGroup, getBoolByGroup, getByGroup, getByGroup, getByteByGroup, getByteByGroup, getCharByGroup, getCharByGroup, getDoubleByGroup, getDoubleByGroup, getIntByGroup, getIntByGroup, getLongByGroup, getLongByGroup, getObjByGroup, getObjByGroup, getShortByGroup, getShortByGroup, getStrByGroup, getStrByGroup

    Methods inherited from interface org.miaixz.bus.core.lang.getter.TypeGetter

    get, get, get, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBool, getBool, getByte, getByte, getBytes, getBytes, getChar, getChar, getDate, getDate, getDouble, getDouble, getEnum, getEnum, getFloat, getFloat, getInt, getInt, getLocalDate, getLocalDate, getLocalDateTime, getLocalDateTime, getLocalTime, getLocalTime, getLong, getLong, getNumber, getNumber, getObject, getShort, getShort, getSqlTime, getSqlTime, getSqlTimestamp, getSqlTimestamp, getString, getString
  • Field Details

  • Constructor Details

    • AbstractSetting

      public AbstractSetting()
  • Method Details

    • getObject

      public Object getObject(CharSequence key, Object defaultValue)
      Specified by:
      getObject in interface org.miaixz.bus.core.lang.getter.TypeGetter<CharSequence>
    • get

      public <P, T> T get(org.miaixz.bus.core.center.function.FunctionX<P,T> func)
      根据lambda的方法引用,获取
      Type Parameters:
      P - 参数类型
      T - 返回值类型
      Parameters:
      func - 方法引用
      Returns:
      获取表达式对应属性和返回的对象
    • getByGroupNotEmpty

      public String getByGroupNotEmpty(String key, String group, String defaultValue)
      获得字符串类型值,如果字符串为null或者""返回默认值
      Parameters:
      key - KEY
      group - 分组
      defaultValue - 默认值
      Returns:
      值,如果字符串为null或者""返回默认值
    • getStrs

      public String[] getStrs(String key)
      获得数组型
      Parameters:
      key - 属性名
      Returns:
      属性值
    • getStrs

      public String[] getStrs(CharSequence key, String[] defaultValue)
      获得数组型
      Parameters:
      key - 属性名
      defaultValue - 默认的值
      Returns:
      属性值
    • getStrsByGroup

      public String[] getStrsByGroup(CharSequence key, CharSequence group)
      获得数组型默认逗号分隔 若配置文件中键值对类似于:
           a = 1,2,3,4
       
      则获取结果为:[1, 2, 3, 4]
      Parameters:
      key - 属性名
      group - 分组名
      Returns:
      属性值
    • getStrsByGroup

      public String[] getStrsByGroup(CharSequence key, CharSequence group, CharSequence delimiter)
      获得数组型,可自定义分隔符 假定分隔符为逗号,若配置文件中键值对类似于:
           a = 1,2,3,4
       
      则获取结果为:[1, 2, 3, 4]
      Parameters:
      key - 属性名
      group - 分组名
      delimiter - 分隔符
      Returns:
      属性值
    • toBean

      public <T> T toBean(CharSequence group, T bean)
      将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
      Type Parameters:
      T - Bean类型
      Parameters:
      group - 分组
      bean - Bean对象
      Returns:
      Bean
    • toBean

      public <T> T toBean(CharSequence group, Class<T> beanClass)
      将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
      Type Parameters:
      T - Bean类型
      Parameters:
      group - 分组
      beanClass - Bean类型
      Returns:
      Bean
    • toBean

      public <T> T toBean(T bean)
      将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
      Type Parameters:
      T - bean类型
      Parameters:
      bean - Bean
      Returns:
      Bean
    • toBean

      public <T> T toBean(Class<T> beanClass)
      将setting中的键值关系映射到对象中,原理是调用对象对应的set方法 只支持基本类型的转换
      Type Parameters:
      T - bean类型
      Parameters:
      beanClass - Bean类型
      Returns:
      Bean