Package org.jboss.logmanager

## Class PropertyValues

- java.lang.Object
- - org.jboss.logmanager.PropertyValues

    public class PropertyValues
    extends java.lang.Object

A utility for converting objects into strings and strings into objects for storage in logging configurations.

Author:
  James R. Perkins

### Constructor Summary

Constructors
`PropertyValues()`

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `escapeKey​(java.lang.StringBuilder sb, java.lang.String key)` Escapes a maps key value for serialization to a string.
`static void` `escapeValue​(java.lang.StringBuilder sb, java.lang.String value)` Escapes a maps value for serialization to a string.
`static <K extends java.lang.Enum<K>> java.lang.String` `mapToString​(java.util.EnumMap<K,​java.lang.String> map)` Converts a map into a string that can be parsed by `stringToMap(String)`.
`static <K> java.lang.String` `mapToString​(java.util.Map<K,​java.lang.String> map)` Converts a map into a string that can be parsed by `stringToMap(String)`.
`static <E extends java.lang.Enum<E>> java.util.EnumMap<E,​java.lang.String>` `stringToEnumMap​(java.lang.Class<E> enumType, java.lang.String s)` Parses a string of key/value pairs into an enum map.
`static <E extends java.lang.Enum<E>> java.util.EnumMap<E,​java.lang.String>` `stringToEnumMap​(java.lang.Class<E> enumType, java.lang.String s, boolean convertKeyCase)` Parses a string of key/value pairs into an enum map.
`static java.util.Map<java.lang.String,​java.lang.String>` `stringToMap​(java.lang.String s)` Parses a string of key/value pairs into a map.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PropertyValues

    public PropertyValues()

### Method Detail

#### stringToMap

    public static java.util.Map<java.lang.String,​java.lang.String> stringToMap​(java.lang.String s)

Parses a string of key/value pairs into a map.

The key/value pairs are separated by a comma (`,`). The key and value are separated by an equals (`=`).

If a key contains a `\` or an `=` it must be escaped by a preceding `\`. Example: `key\==value,\\key=value`.

If a value contains a `\` or a `,` it must be escaped by a preceding `\`. Example: `key=part1\,part2,key2=value\\other`.

If the value for a key is empty there is no trailing `=` after a key the will be `null`.

Parameters:
  `s` - the string to parse
Returns:
  a map of the key value pairs or an empty map if the string is `null` or empty

#### stringToEnumMap

    public static <E extends java.lang.Enum<E>> java.util.EnumMap<E,​java.lang.String> stringToEnumMap​(java.lang.Class<E> enumType,
                                                                                                            java.lang.String s)

Parses a string of key/value pairs into an enum map.

The key/value pairs are separated by a comma (`,`). The key and value are separated by an equals (`=`). The key must be a valid enum value. For convenience the case of each character will be converted to uppercase and any dashes (`-`) will be converted to underscores (`_`).

If a value contains a `\` or a `,` it must be escaped by a preceding `\`. Example: `key=part1\,part2,key2=value\\other`.

If the value for a key is empty there is no trailing `=` after a key the value will be `null`.

Parameters:
  `enumType` - the enum type
  `s` - the string to parse
Returns:
  a map of the key value pairs or an empty map if the string is `null` or empty

#### stringToEnumMap

    public static <E extends java.lang.Enum<E>> java.util.EnumMap<E,​java.lang.String> stringToEnumMap​(java.lang.Class<E> enumType,
                                                                                                            java.lang.String s,
                                                                                                            boolean convertKeyCase)

Parses a string of key/value pairs into an enum map.

The key/value pairs are separated by a comma (`,`). The key and value are separated by an equals (`=`). The key must be a valid enum value. For convenience any dashes (`-`) will be converted to underscores (`_`). If `convertKeyCase` is set to `true` the case will also be converted to uppercase for each key character.

If a value contains a `\` or a `,` it must be escaped by a preceding `\`. Example: `key=part1\,part2,key2=value\\other`.

If the value for a key is empty there is no trailing `=` after a key the value will be `null`.

Parameters:
  `enumType` - the enum type
  `s` - the string to parse
  `convertKeyCase` - `true` if the each character from the key should be converted to uppercase, otherwise `false` to keep the case as is
Returns:
  a map of the key value pairs or an empty map if the string is `null` or empty

#### mapToString

    public static <K> java.lang.String mapToString​(java.util.Map<K,​java.lang.String> map)

Converts a map into a string that can be parsed by `stringToMap(String)`. Note that if this is an `EnumMap` the `mapToString(EnumMap)` will be used and the key will be the enum name.

Type Parameters:
  `K` - the type of the key
Parameters:
  `map` - the map to convert to a string
Returns:
  a string value for that map that can be used for configuration properties
See Also:
  `escapeKey(StringBuilder, String)`, `escapeValue(StringBuilder, String)`

#### mapToString

    public static <K extends java.lang.Enum<K>> java.lang.String mapToString​(java.util.EnumMap<K,​java.lang.String> map)

Converts a map into a string that can be parsed by `stringToMap(String)`. The kwy will be the enum name.

Type Parameters:
  `K` - the type of the key
Parameters:
  `map` - the map to convert to a string
Returns:
  a string value for that map that can be used for configuration properties
See Also:
  `escapeKey(StringBuilder, String)`, `escapeValue(StringBuilder, String)`

#### escapeKey

    public static void escapeKey​(java.lang.StringBuilder sb,
                                 java.lang.String key)

Escapes a maps key value for serialization to a string. If the key contains a `\` or an `=` it will be escaped by a preceding `\`. Example: `key\=` or `\\key`.

Parameters:
  `sb` - the string builder to append the escaped key to
  `key` - the key

#### escapeValue

    public static void escapeValue​(java.lang.StringBuilder sb,
                                   java.lang.String value)

Escapes a maps value for serialization to a string. If a value contains a `\` or a `,` it will be escaped by a preceding `\`. Example: `part1\,part2` or `value\\other`.

Parameters:
  `sb` - the string builder to append the escaped value to
  `value` - the value