Package org.sonar.api.utils
Class KeyValueFormat
- java.lang.Object
-
- org.sonar.api.utils.KeyValueFormat
-
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 examplesMap<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());
Formatting examplesString output = KeyValueFormat.format(map); Map<Integer,String> mapIntString; KeyValueFormat.formatIntString(mapIntString);
- Since:
- 1.10
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FIELD_SEPARATOR
static java.lang.String
PAIR_SEPARATOR
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
format(java.util.Map map)
static <K,V>
java.lang.Stringformat(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)
-
-
-
Field Detail
-
PAIR_SEPARATOR
public static final java.lang.String PAIR_SEPARATOR
- See Also:
- Constant Field Values
-
FIELD_SEPARATOR
public static final java.lang.String FIELD_SEPARATOR
- See Also:
- Constant Field Values
-
-
Method Detail
-
newStringConverter
public static KeyValueFormat.StringConverter newStringConverter()
-
newToStringConverter
public static KeyValueFormat.ToStringConverter newToStringConverter()
-
newIntegerConverter
public static KeyValueFormat.IntegerConverter newIntegerConverter()
-
newPriorityConverter
public static KeyValueFormat.PriorityConverter newPriorityConverter()
-
newDoubleConverter
public static KeyValueFormat.DoubleConverter newDoubleConverter()
-
newDateConverter
public static KeyValueFormat.DateConverter newDateConverter()
-
newDateTimeConverter
public static KeyValueFormat.DateConverter newDateTimeConverter()
-
newDateConverter
public static KeyValueFormat.DateConverter newDateConverter(java.lang.String format)
-
parse
public static <K,V> java.util.Map<K,V> parse(@Nullable java.lang.String input, KeyValueFormat.Converter<K> keyConverter, KeyValueFormat.Converter<V> valueConverter)
If input is null, then an empty map is returned.
-
parse
public static java.util.Map<java.lang.String,java.lang.String> parse(@Nullable java.lang.String data)
-
parseStringInt
public static java.util.Map<java.lang.String,java.lang.Integer> parseStringInt(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseStringDouble
public static java.util.Map<java.lang.String,java.lang.Double> parseStringDouble(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseIntString
public static java.util.Map<java.lang.Integer,java.lang.String> parseIntString(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseIntDouble
public static java.util.Map<java.lang.Integer,java.lang.Double> parseIntDouble(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseIntDate
public static java.util.Map<java.lang.Integer,java.util.Date> parseIntDate(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseIntInt
public static java.util.Map<java.lang.Integer,java.lang.Integer> parseIntInt(@Nullable java.lang.String data)
- Since:
- 2.7
-
parseIntDateTime
public static java.util.Map<java.lang.Integer,java.util.Date> parseIntDateTime(@Nullable java.lang.String data)
- Since:
- 2.7
-
format
public static <K,V> java.lang.String format(java.util.Map<K,V> map, KeyValueFormat.Converter<K> keyConverter, KeyValueFormat.Converter<V> valueConverter)
- Since:
- 2.7
-
format
public static java.lang.String format(java.util.Map map)
- Since:
- 2.7
-
formatIntString
public static java.lang.String formatIntString(java.util.Map<java.lang.Integer,java.lang.String> map)
- Since:
- 2.7
-
formatIntDouble
public static java.lang.String formatIntDouble(java.util.Map<java.lang.Integer,java.lang.Double> map)
- Since:
- 2.7
-
formatIntDate
public static java.lang.String formatIntDate(java.util.Map<java.lang.Integer,java.util.Date> map)
- Since:
- 2.7
-
formatIntDateTime
public static java.lang.String formatIntDateTime(java.util.Map<java.lang.Integer,java.util.Date> map)
- Since:
- 2.7
-
formatStringInt
public static java.lang.String formatStringInt(java.util.Map<java.lang.String,java.lang.Integer> map)
- Since:
- 2.7
-
-