Package ru.bgcrm.util

Class ParameterMap

All Implemented Interfaces:
Serializable, Map<String,String>
Direct Known Subclasses:
ParameterMap.DefaultParameterMap, Preferences

public abstract class ParameterMap extends AbstractMap<String,String> implements Serializable
Исходный map параметров.
Его главная ф-ция - get( key, value ). Остальные используют эту функцию для парсинга значений (float, double). Можно врапить различные объекты, например сделать ParameterMap из XML элемента, из Map, из HttpRequest.

TODO: хорошо бы HttpRequest обернуть ParameterMap, тогда в акшенах, которые используются также для рассылки почты request можно было использовать прозрачно HttpRequest или парамерты рассылки почты
See Also:
  • Field Details

  • Constructor Details

    • ParameterMap

      public ParameterMap()
  • Method Details

    • get

      public abstract String get(String key, String def)
    • get

      public String get(Object key)
      Specified by:
      get in interface Map<String,String>
      Overrides:
      get in class AbstractMap<String,String>
    • getInt

      public int getInt(String key, int def)
    • getFloat

      public float getFloat(String key, float def)
    • getLong

      public long getLong(String key, long def)
    • getDouble

      public double getDouble(String key, double def)
    • getBoolean

      public final boolean getBoolean(String key, boolean defaultValue)
    • getBigDecimal

      public BigDecimal getBigDecimal(String key, BigDecimal def)
    • entrySet

      public abstract Set<Map.Entry<String,String>> entrySet()
      Specified by:
      entrySet in interface Map<String,String>
      Specified by:
      entrySet in class AbstractMap<String,String>
    • fingerprint

      public String fingerprint()
    • sub

      public ParameterMap sub(String... prefixes)
      Извлечение поднабора параметров по префиксу.
      Parameters:
      prefixes -
      Returns:
    • getDataString

      public String getDataString()
      Сериализация набора параметров в строку <ключ>=<значение> с переносами строк.
      Returns:
    • getDataString

      public String getDataString(String prefix)
      Сериализация набора параметров в строку <ключ>=<значение> с переносами строк. К каждой строке добавляется префикс.
      Parameters:
      prefix -
      Returns:
    • getDataString

      public static String getDataString(ParameterMap config)
      Для JSP получение конфига в текстовом виде. Нельзя использовать .dataString, т.к. ParameterMap будет отдавать как Map.
      Returns:
    • subIndexed

      @NotNull public @NotNull SortedMap<Integer,ParameterMap> subIndexed(String... prefixes)
      Возвращает новый мап. Берёт всё под префиксами и иставляет мэп из числовых ид за ними и последующих значений, формируя из них ParameterMap. Аналогична subKeyed, но составляет сортированный мэп с числовыми ключами.
       prefix.1.12=2
       prefix.1.34=4
       prefix.2.56=2
       prefix.2.78=4
       ->
       сортированный мэп
       1={12=2,34=4}
       2={56=2,78=4}
      Parameters:
      prefixes - префиксы определяющий мэп
      Returns:
      SortedMap. Никогда не null.
      See Also:
    • subKeyed

      @NotNull public @NotNull Map<String,ParameterMap> subKeyed(String... prefixes)
      Возвращает новый мап. Берёт всё под префиксами и иставляет мэп из строковых ид за ними и последующих значений, формируя из них ParameterMap. Аналогична subIndexed, но составляет несортированный мэп со строковыми ключами.
       prefix.a.12=2
       prefix.a.34=4
       prefix.b.56=2
       prefix.b.78=4
       ->
       несортированный мэп
       a={12=2,34=4}
       b={56=2,78=4}
      Parameters:
      prefixes - префиксы определяющий мэп
      Returns:
      Map. Никогда не null.
      See Also:
    • toReference

      public void toReference(Reference ref)
    • inherit

      public ParameterMap inherit(ParameterMap parameterMap)
    • parseObjectsNoOrder

      public Map<String,Map<String,String>> parseObjectsNoOrder(String prefix)
    • getConfig

      public final <K extends Config> K getConfig(Class<K> clazz)
    • getConfig

      public final Object getConfig(String className)