public final class KeyValueFormat
extends java.lang.Object
Formats and parses key/value pairs with the text representation : "key1=value1;key2=value2". Field typing
is supported, to make conversion from/to primitive types easier for example.
Since version 4.5.1, text keys and values are escaped if they contain the separator characters '=' or ';'.
Parsing examples
Map<String,String> mapOfStrings = KeyValueFormat.parse("hello=world;foo=bar"); Map<String,Integer> mapOfStringInts = KeyValueFormat.parseStringInt("one=1;two=2"); Map<Integer,String> mapOfIntStrings = KeyValueFormat.parseIntString("1=one;2=two"); Map<String,Date> mapOfStringDates = KeyValueFormat.parseStringDate("d1=2014-01-14;d2=2015-07-28"); // custom conversion Map<String,MyClass> mapOfStringMyClass = KeyValueFormat.parse("foo=xxx;bar=yyy", KeyValueFormat.newStringConverter(), new MyClassConverter());
String output = KeyValueFormat.format(map); Map<Integer,String> mapIntString; KeyValueFormat.formatIntString(mapIntString);
Modifier and Type | Class and Description |
---|---|
static class |
KeyValueFormat.Converter<T> |
static class |
KeyValueFormat.DateConverter |
static class |
KeyValueFormat.DoubleConverter |
static class |
KeyValueFormat.IntegerConverter |
static class |
KeyValueFormat.PriorityConverter |
static class |
KeyValueFormat.StringConverter |
static class |
KeyValueFormat.ToStringConverter |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FIELD_SEPARATOR |
static java.lang.String |
PAIR_SEPARATOR |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
format(java.util.Map map) |
static <K,V> java.lang.String |
format(java.util.Map<K,V> map,
KeyValueFormat.Converter<K> keyConverter,
KeyValueFormat.Converter<V> valueConverter) |
static java.lang.String |
formatIntDate(java.util.Map<java.lang.Integer,java.util.Date> map) |
static java.lang.String |
formatIntDateTime(java.util.Map<java.lang.Integer,java.util.Date> map) |
static java.lang.String |
formatIntDouble(java.util.Map<java.lang.Integer,java.lang.Double> map) |
static java.lang.String |
formatIntString(java.util.Map<java.lang.Integer,java.lang.String> map) |
static java.lang.String |
formatStringInt(java.util.Map<java.lang.String,java.lang.Integer> map) |
static KeyValueFormat.DateConverter |
newDateConverter() |
static KeyValueFormat.DateConverter |
newDateConverter(java.lang.String format) |
static KeyValueFormat.DateConverter |
newDateTimeConverter() |
static KeyValueFormat.DoubleConverter |
newDoubleConverter() |
static KeyValueFormat.IntegerConverter |
newIntegerConverter() |
static KeyValueFormat.PriorityConverter |
newPriorityConverter() |
static KeyValueFormat.StringConverter |
newStringConverter() |
static KeyValueFormat.ToStringConverter |
newToStringConverter() |
static java.util.Map<java.lang.String,java.lang.String> |
parse(java.lang.String data) |
static <K,V> java.util.Map<K,V> |
parse(java.lang.String input,
KeyValueFormat.Converter<K> keyConverter,
KeyValueFormat.Converter<V> valueConverter)
If input is null, then an empty map is returned.
|
static java.util.Map<java.lang.Integer,java.util.Date> |
parseIntDate(java.lang.String data) |
static java.util.Map<java.lang.Integer,java.util.Date> |
parseIntDateTime(java.lang.String data) |
static java.util.Map<java.lang.Integer,java.lang.Double> |
parseIntDouble(java.lang.String data) |
static java.util.Map<java.lang.Integer,java.lang.Integer> |
parseIntInt(java.lang.String data) |
static java.util.Map<java.lang.Integer,java.lang.String> |
parseIntString(java.lang.String data) |
static java.util.Map<java.lang.String,java.lang.Double> |
parseStringDouble(java.lang.String data) |
static java.util.Map<java.lang.String,java.lang.Integer> |
parseStringInt(java.lang.String data) |
public static final java.lang.String PAIR_SEPARATOR
public static final java.lang.String FIELD_SEPARATOR
public static KeyValueFormat.StringConverter newStringConverter()
public static KeyValueFormat.ToStringConverter newToStringConverter()
public static KeyValueFormat.IntegerConverter newIntegerConverter()
public static KeyValueFormat.PriorityConverter newPriorityConverter()
public static KeyValueFormat.DoubleConverter newDoubleConverter()
public static KeyValueFormat.DateConverter newDateConverter()
public static KeyValueFormat.DateConverter newDateTimeConverter()
public static KeyValueFormat.DateConverter newDateConverter(java.lang.String format)
public static <K,V> java.util.Map<K,V> parse(@Nullable java.lang.String input, KeyValueFormat.Converter<K> keyConverter, KeyValueFormat.Converter<V> valueConverter)
public static java.util.Map<java.lang.String,java.lang.String> parse(@Nullable java.lang.String data)
public static java.util.Map<java.lang.String,java.lang.Integer> parseStringInt(@Nullable java.lang.String data)
public static java.util.Map<java.lang.String,java.lang.Double> parseStringDouble(@Nullable java.lang.String data)
public static java.util.Map<java.lang.Integer,java.lang.String> parseIntString(@Nullable java.lang.String data)
public static java.util.Map<java.lang.Integer,java.lang.Double> parseIntDouble(@Nullable java.lang.String data)
public static java.util.Map<java.lang.Integer,java.util.Date> parseIntDate(@Nullable java.lang.String data)
public static java.util.Map<java.lang.Integer,java.lang.Integer> parseIntInt(@Nullable java.lang.String data)
public static java.util.Map<java.lang.Integer,java.util.Date> parseIntDateTime(@Nullable java.lang.String data)
public static <K,V> java.lang.String format(java.util.Map<K,V> map, KeyValueFormat.Converter<K> keyConverter, KeyValueFormat.Converter<V> valueConverter)
public static java.lang.String format(java.util.Map map)
public static java.lang.String formatIntString(java.util.Map<java.lang.Integer,java.lang.String> map)
public static java.lang.String formatIntDouble(java.util.Map<java.lang.Integer,java.lang.Double> map)
public static java.lang.String formatIntDate(java.util.Map<java.lang.Integer,java.util.Date> map)
public static java.lang.String formatIntDateTime(java.util.Map<java.lang.Integer,java.util.Date> map)
public static java.lang.String formatStringInt(java.util.Map<java.lang.String,java.lang.Integer> map)