Class PropertyValues

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

public class PropertyValues extends Object
A utility for converting objects into strings and strings into objects for storage in logging configurations.
Author:
James R. Perkins
  • Constructor Details

    • PropertyValues

      public PropertyValues()
  • Method Details

    • stringToMap

      public static Map<String,String> stringToMap(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 Enum<E>> EnumMap<E,String> stringToEnumMap(Class<E> enumType, 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 Enum<E>> EnumMap<E,String> stringToEnumMap(Class<E> enumType, 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> String mapToString(Map<K,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:
    • mapToString

      public static <K extends Enum<K>> String mapToString(EnumMap<K,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

      public static void escapeKey(StringBuilder sb, 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(StringBuilder sb, 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