Package org.sonar.api.utils
Class KeyValueFormat
- java.lang.Object
-
- org.sonar.api.utils.KeyValueFormat
-
public final class KeyValueFormat extends java.lang.ObjectFormats 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 classKeyValueFormat.Converter<T>static classKeyValueFormat.DateConverterstatic classKeyValueFormat.DoubleConverterstatic classKeyValueFormat.IntegerConverterstatic classKeyValueFormat.PriorityConverterstatic classKeyValueFormat.StringConverterstatic classKeyValueFormat.ToStringConverter
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFIELD_SEPARATORstatic java.lang.StringPAIR_SEPARATOR
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringformat(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.StringformatIntDate(java.util.Map<java.lang.Integer,java.util.Date> map)static java.lang.StringformatIntDateTime(java.util.Map<java.lang.Integer,java.util.Date> map)static java.lang.StringformatIntDouble(java.util.Map<java.lang.Integer,java.lang.Double> map)static java.lang.StringformatIntString(java.util.Map<java.lang.Integer,java.lang.String> map)static java.lang.StringformatStringInt(java.util.Map<java.lang.String,java.lang.Integer> map)static KeyValueFormat.DateConverternewDateConverter()static KeyValueFormat.DateConverternewDateConverter(java.lang.String format)static KeyValueFormat.DateConverternewDateTimeConverter()static KeyValueFormat.DoubleConverternewDoubleConverter()static KeyValueFormat.IntegerConverternewIntegerConverter()static KeyValueFormat.PriorityConverternewPriorityConverter()static KeyValueFormat.StringConverternewStringConverter()static KeyValueFormat.ToStringConverternewToStringConverter()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
-
-