模块 org.redkale
程序包 org.redkale.util

类 AnyValue

  • 直接已知子类:
    AnyValueWriter

    public abstract class AnyValue
    extends Object
    该类提供类似JSONObject的数据结构,主要用于读取xml配置文件和http-header存储

    详情见: https://redkale.org

    作者:
    zhangjx
    • 字段详细资料

      • XML_TEXT_NODE_NAME

        public static final String XML_TEXT_NODE_NAME
        xml的文本节点name
        另请参阅:
        常量字段值
    • 构造器详细资料

      • AnyValue

        public AnyValue()
    • 方法详细资料

      • create

        public static AnyValueWriter create()
        创建AnyValueWriter
        返回:
        AnyValueWriter
      • loadFromYaml

        public static AnyValue loadFromYaml​(String text)
        yaml内容流转换成AnyValue对象
        参数:
        text - 文本内容
        返回:
        AnyValue
      • loadFromProperties

        public static AnyValue loadFromProperties​(String text)
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性
        参数:
        text - 文本内容
        返回:
        AnyValue
      • loadFromProperties

        public static AnyValue loadFromProperties​(String text,
                                                  String nameName)
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性
        参数:
        text - 文本内容
        nameName - String
        返回:
        AnyValue
      • loadFromProperties

        public static AnyValue loadFromProperties​(InputStream in)
                                           throws IOException
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性
        参数:
        in - 内容流
        返回:
        AnyValue
        抛出:
        IOException - 异常
      • loadFromProperties

        public static AnyValue loadFromProperties​(InputStream in,
                                                  Charset charset)
                                           throws IOException
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性
        参数:
        in - 内容流
        charset - 字符编码
        返回:
        AnyValue
        抛出:
        IOException - 异常
      • loadFromProperties

        public static AnyValue loadFromProperties​(Properties properties)
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性
        参数:
        properties - Properties
        返回:
        AnyValue
      • loadFromProperties

        public static AnyValue loadFromProperties​(Properties properties,
                                                  String nameName)
        Properties内容转换成AnyValue对象, 层级采用key的.分隔
        key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入nameName属性
        参数:
        properties - Properties
        nameName - String
        返回:
        AnyValue
      • loadFromXml

        public static AnyValue loadFromXml​(String text)
        xml文本内容转换成AnyValue对象
        参数:
        text - 文本内容
        返回:
        AnyValue
      • toString

        public String toString​(int indent,
                               BiFunction<AnyValue,​String,​CharSequence> prefixFunc)
        当前AnyValue对象字符串化
        参数:
        indent - 缩进长度
        prefixFunc - 扩展函数
        返回:
        String
      • copy

        public abstract AnyValue copy()
        复制一份
        返回:
        AnyValue
      • replace

        public abstract AnyValue replace​(AnyValue node)
        将另一个对象替换本对象
        参数:
        node - 替换的对象
        返回:
        AnyValue
      • merge

        public abstract AnyValue merge​(AnyValue node,
                                       AnyValue.MergeStrategy func)
        将另一个对象合并过来
        参数:
        node - 代合并对象
        func - 覆盖方式的函数
        返回:
        AnyValue
      • forEach

        public abstract void forEach​(BiConsumer<String,​String> stringConsumer)
        回调子节点
        参数:
        stringConsumer - 字符串字段的回调函数
      • forEach

        public abstract void forEach​(BiConsumer<String,​String> stringConsumer,
                                     BiConsumer<String,​AnyValue> anyConsumer)
        回调子节点
        参数:
        stringConsumer - 字符串字段的回调函数
        anyConsumer - 字符串对象的回调函数
      • getStringEntrys

        public abstract AnyValue.Entry<String>[] getStringEntrys()
        获取所有字符串子节点
        返回:
        Entry[]
      • getAnyEntrys

        public abstract AnyValue.Entry<AnyValue>[] getAnyEntrys()
        获取所有复合子节点
        返回:
        Entry[]
      • getNames

        public abstract String[] getNames()
        获取字段名集合
        返回:
        String[]
      • getValues

        public abstract String[] getValues​(String name)
        获取同级下同一字段名下所有的String对象
        参数:
        name - 字段名
        返回:
        String[]
      • getValues

        public abstract String[] getValues​(String... names)
        根据字段名集合获取String类型的字段值集合
        参数:
        names - 字段名集合
        返回:
        String[]
      • getAnyValues

        public abstract AnyValue[] getAnyValues​(String name)
        获取同级下同一字段名下所有的AnyValue对象
        参数:
        name - 字段名
        返回:
        AnyValue[]
      • getAnyValues

        public abstract AnyValue[] getAnyValues​(String... names)
        根据字段名集合获取AnyValue类型的字段值集合
        参数:
        names - 字段名集合
        返回:
        AnyValue[]
      • getAnyValue

        public abstract AnyValue getAnyValue​(String name)
        根据字段名获取AnyValue类型的字段值
        参数:
        name - 字段名
        返回:
        AnyValue
      • getAnyValue

        public abstract AnyValue getAnyValue​(String name,
                                             boolean create)
        根据字段名获取AnyValue类型的字段值
        参数:
        name - 字段名
        create - 没有是否创建一个新的对象返回
        返回:
        AnyValue
      • getValue

        public abstract String getValue​(String name)
        根据字段名获取String类型的字段值
        参数:
        name - 字段名
        返回:
        String
      • get

        public abstract String get​(String name)
        根据字段名获取String类型的字段值
        参数:
        name - 字段名
        返回:
        String
      • getBoolValue

        public boolean getBoolValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getBoolValue

        public boolean getBoolValue​(String name,
                                    boolean defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getByteValue

        public byte getByteValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getByteValue

        public byte getByteValue​(String name,
                                 byte defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getByteValue

        public byte getByteValue​(int radix,
                                 String name,
                                 byte defaultValue)
        获取字段值
        参数:
        radix - 进制,默认十进制
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getCharValue

        public char getCharValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getCharValue

        public char getCharValue​(String name,
                                 char defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getShortValue

        public short getShortValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        String
      • getShortValue

        public short getShortValue​(String name,
                                   short defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getShortValue

        public short getShortValue​(int radix,
                                   String name,
                                   short defaultValue)
        获取字段值
        参数:
        radix - 进制,默认十进制
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getIntValue

        public int getIntValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getIntValue

        public int getIntValue​(String name,
                               int defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        String
      • getIntValue

        public int getIntValue​(int radix,
                               String name,
                               int defaultValue)
        获取字段值
        参数:
        radix - 进制,默认十进制
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getLongValue

        public long getLongValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getLongValue

        public long getLongValue​(String name,
                                 long defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getLongValue

        public long getLongValue​(int radix,
                                 String name,
                                 long defaultValue)
        获取字段值
        参数:
        radix - 进制,默认十进制
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getFloatValue

        public float getFloatValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        String
      • getFloatValue

        public float getFloatValue​(String name,
                                   float defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getDoubleValue

        public double getDoubleValue​(String name)
        获取字段值
        参数:
        name - 字段名
        返回:
        字段值
      • getDoubleValue

        public double getDoubleValue​(String name,
                                     double defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getValue

        public String getValue​(String name,
                               String defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • getOrDefault

        public String getOrDefault​(String name,
                                   String defaultValue)
        获取字段值
        参数:
        name - 字段名
        defaultValue - 默认值
        返回:
        字段值
      • hashCode

        public int hashCode()
        覆盖:
        hashCode 在类中 Object
      • toXml

        public String toXml​(String rootName)
        xml化当前AnyValue对象
        参数:
        rootName - root名称
        返回:
        String
      • toXmlString

        protected static StringBuilder toXmlString​(StringBuilder sb,
                                                   String nodeName,
                                                   AnyValue conf,
                                                   int indent)
        xml化AnyValue对象
        参数:
        sb - StringBuilder
        nodeName - 字段名
        conf - AnyValue
        indent - 缩进长度
        返回:
        StringBuilder
      • toJsonString

        public String toJsonString()