- java.lang.Object
-
- org.redkale.util.AnyValue
-
- 直接已知子类:
AnyValueWriter
public abstract class AnyValue extends Object
该类提供类似JSONObject的数据结构,主要用于读取xml配置文件和http-header存储详情见: https://redkale.org
- 作者:
- zhangjx
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static class
AnyValue.DefaultAnyValue
已过时。replaceAnyValueWriter
static class
AnyValue.Entry<T>
字段名和值的组合对象static class
AnyValue.MergeEnum
merge两节点是否覆盖的判断函数static interface
AnyValue.MergeStrategy
merge两节点是否覆盖的判断函数
-
字段概要
字段 修饰符和类型 字段 说明 static String
XML_TEXT_NODE_NAME
xml的文本节点name
-
构造器概要
构造器 构造器 说明 AnyValue()
-
方法概要
所有方法 静态方法 实例方法 抽象方法 具体方法 修饰符和类型 方法 说明 abstract AnyValue
copy()
复制一份static AnyValueWriter
create()
创建AnyValueWriterboolean
equals(Object other)
abstract void
forEach(BiConsumer<String,String> stringConsumer)
回调子节点abstract void
forEach(BiConsumer<String,String> stringConsumer, BiConsumer<String,AnyValue> anyConsumer)
回调子节点abstract String
get(String name)
根据字段名获取String类型的字段值abstract AnyValue.Entry<AnyValue>[]
getAnyEntrys()
获取所有复合子节点abstract AnyValue
getAnyValue(String name)
根据字段名获取AnyValue类型的字段值abstract AnyValue
getAnyValue(String name, boolean create)
根据字段名获取AnyValue类型的字段值abstract AnyValue[]
getAnyValues(String name)
获取同级下同一字段名下所有的AnyValue对象abstract AnyValue[]
getAnyValues(String... names)
根据字段名集合获取AnyValue类型的字段值集合boolean
getBoolValue(String name)
获取字段值boolean
getBoolValue(String name, boolean defaultValue)
获取字段值byte
getByteValue(int radix, String name, byte defaultValue)
获取字段值byte
getByteValue(String name)
获取字段值byte
getByteValue(String name, byte defaultValue)
获取字段值char
getCharValue(String name)
获取字段值char
getCharValue(String name, char defaultValue)
获取字段值double
getDoubleValue(String name)
获取字段值double
getDoubleValue(String name, double defaultValue)
获取字段值float
getFloatValue(String name)
获取字段值float
getFloatValue(String name, float defaultValue)
获取字段值int
getIntValue(int radix, String name, int defaultValue)
获取字段值int
getIntValue(String name)
获取字段值int
getIntValue(String name, int defaultValue)
获取字段值long
getLongValue(int radix, String name, long defaultValue)
获取字段值long
getLongValue(String name)
获取字段值long
getLongValue(String name, long defaultValue)
获取字段值abstract String[]
getNames()
获取字段名集合String
getOrDefault(String name, String defaultValue)
获取字段值short
getShortValue(int radix, String name, short defaultValue)
获取字段值short
getShortValue(String name)
获取字段值short
getShortValue(String name, short defaultValue)
获取字段值abstract AnyValue.Entry<String>[]
getStringEntrys()
获取所有字符串子节点abstract String
getValue(String name)
根据字段名获取String类型的字段值String
getValue(String name, String defaultValue)
获取字段值abstract String[]
getValues(String name)
获取同级下同一字段名下所有的String对象abstract String[]
getValues(String... names)
根据字段名集合获取String类型的字段值集合int
hashCode()
static AnyValue
loadFromProperties(InputStream in)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性static AnyValue
loadFromProperties(InputStream in, Charset charset)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性static AnyValue
loadFromProperties(String text)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性static AnyValue
loadFromProperties(String text, String nameName)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性static AnyValue
loadFromProperties(Properties properties)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入name属性static AnyValue
loadFromProperties(Properties properties, String nameName)
Properties内容转换成AnyValue对象, 层级采用key的.分隔
key中包含[xx]且xx不是数字且不是位于最后的视为name,会在对应的节点对象中加入nameName属性static AnyValue
loadFromXml(InputStream in)
xml内容流转换成AnyValue对象static AnyValue
loadFromXml(InputStream in, Charset charset)
xml内容流转换成AnyValue对象static AnyValue
loadFromXml(InputStream in, Charset charset, BinaryOperator<String> attrFunc)
xml内容流转换成AnyValue对象static AnyValue
loadFromXml(InputStream in, BinaryOperator<String> attrFunc)
xml内容流转换成AnyValue对象static AnyValue
loadFromXml(String text)
xml文本内容转换成AnyValue对象static AnyValue
loadFromXml(String text, BinaryOperator<String> attrFunc)
xml内容流转换成AnyValue对象static AnyValue
loadFromYaml(String text)
yaml内容流转换成AnyValue对象abstract AnyValue
merge(AnyValue node, AnyValue.MergeStrategy func)
将另一个对象合并过来abstract AnyValue
replace(AnyValue node)
将另一个对象替换本对象JsonObject
toJsonObject()
protected static void
toJsonObject(JsonObject json, AnyValue conf)
String
toJsonString()
Properties
toProperties()
protected static void
toProperties(Properties props, String parent, AnyValue conf)
String
toString(int indent, BiFunction<AnyValue,String,CharSequence> prefixFunc)
当前AnyValue对象字符串化String
toXml(String rootName)
xml化当前AnyValue对象protected static StringBuilder
toXmlString(StringBuilder sb, String nodeName, AnyValue conf, int indent)
xml化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
- PropertiesnameName
- String- 返回:
- AnyValue
-
loadFromXml
public static AnyValue loadFromXml(String text)
xml文本内容转换成AnyValue对象- 参数:
text
- 文本内容- 返回:
- AnyValue
-
loadFromXml
public static AnyValue loadFromXml(InputStream in) throws IOException
xml内容流转换成AnyValue对象- 参数:
in
- 内容流- 返回:
- AnyValue
- 抛出:
IOException
- 异常
-
loadFromXml
public static AnyValue loadFromXml(InputStream in, Charset charset) throws IOException
xml内容流转换成AnyValue对象- 参数:
in
- 内容流charset
- 字符编码- 返回:
- AnyValue
- 抛出:
IOException
- 异常
-
loadFromXml
public static AnyValue loadFromXml(String text, BinaryOperator<String> attrFunc) throws IOException
xml内容流转换成AnyValue对象- 参数:
text
- 文本内容attrFunc
- 字段回调函数- 返回:
- AnyValue
- 抛出:
IOException
- 异常
-
loadFromXml
public static AnyValue loadFromXml(InputStream in, BinaryOperator<String> attrFunc) throws IOException
xml内容流转换成AnyValue对象- 参数:
in
- 内容流attrFunc
- 字段回调函数- 返回:
- AnyValue
- 抛出:
IOException
- 异常
-
loadFromXml
public static AnyValue loadFromXml(InputStream in, Charset charset, BinaryOperator<String> attrFunc) throws IOException
xml内容流转换成AnyValue对象- 参数:
in
- 内容流charset
- 字符编码attrFunc
- 字段回调函数- 返回:
- AnyValue
- 抛出:
IOException
- 异常
-
toString
public String toString(int indent, BiFunction<AnyValue,String,CharSequence> prefixFunc)
当前AnyValue对象字符串化- 参数:
indent
- 缩进长度prefixFunc
- 扩展函数- 返回:
- String
-
copy
public abstract AnyValue copy()
复制一份- 返回:
- 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
-
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
- 默认值- 返回:
- 字段值
-
toXmlString
protected static StringBuilder toXmlString(StringBuilder sb, String nodeName, AnyValue conf, int indent)
xml化AnyValue对象- 参数:
sb
- StringBuildernodeName
- 字段名conf
- AnyValueindent
- 缩进长度- 返回:
- StringBuilder
-
toJsonString
public String toJsonString()
-
toProperties
public Properties toProperties()
-
toProperties
protected static void toProperties(Properties props, String parent, AnyValue conf)
-
toJsonObject
public JsonObject toJsonObject()
-
toJsonObject
protected static void toJsonObject(JsonObject json, AnyValue conf)
-
-