Package ru.bitel.common

# Class ParameterMap

java.lang.Object
ru.bitel.common.ParameterMap

Direct Known Subclasses:
  `ParameterMap.DefaultParameterMap`, `Preferences`

    public abstract class ParameterMap
    extends java.lang.Object

Исходный map параметров.
Его главная ф-ция - get( key, value ). Остальные используют эту функцию для парсинга значений (float, double). Можно врапить различные объекты, например сделать ParameterMap из XML элемента, из Map, из HttpRequest.
TODO: хорошо бы HttpRequest обернуть ParameterMap, тогда в акшенах, которые используются также для рассылки почты request можно было использовать прозрачно HttpRequest или парамерты рассылки почты

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `ParameterMap.DefaultParameterMap` |

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected java.lang.String` | `mapPrint` |

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `ParameterMap()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addActionListener​(java.awt.event.ActionListener al)` |
  `abstract java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.String>>` | `entrySet()` |
  `protected void` | `extract​(java.util.Map<java.lang.String,​java.lang.String> data)` |
  `java.lang.String` | `fingerprint()` |
  `java.lang.String` | `get​(java.lang.String key)` | Получение значения из конфига.
  `abstract java.lang.String` | `get​(java.lang.String key, java.lang.String def)` |
  `java.math.BigDecimal` | `getBigDecimal​(java.lang.String key, java.math.BigDecimal def)` |
  `boolean` | `getBoolean​(java.lang.String key, boolean def)` |
  `char` | `getChar​(java.lang.String key, char def)` |
  `double` | `getDouble​(java.lang.String key, double def)` |
  `<T extends java.lang.Enum<T>> T` | `getEnum​(java.lang.Class<T> enumType, java.lang.String key, T def)` |
  `float` | `getFloat​(java.lang.String key, float def)` |
  `int` | `getInt​(java.lang.String key, int def)` |
  `java.util.List<java.lang.Integer>` | `getIntegerList​(java.lang.String key, java.util.List<java.lang.Integer> defList)` | Получение списка целых чисел из числовой строки разделенной запятыми.
  `java.time.LocalDate` | `getLocalDate​(java.lang.String key, java.time.LocalDate def)` |
  `long` | `getLong​(java.lang.String key, long def)` |
  `java.util.Map<java.lang.String,​java.lang.String>` | `getMap()` | Возвращает в виде жавовского Map все значения.
  `ParameterMap` | `inherit​(ParameterMap parameterMap)` | Создает новый ParameterMap, где текущий становится родительским к аргументу parameterMap. Т.е. при вызове `get(String, String)` у результата значение будет взято у аргумента parameterMap, а при отсутсвии - у текущего (ставшего родительским). ``
  `ParameterMap` | `sub​(java.lang.String prefix)` | Возвращает новый подмап объектов, с ключами, начинающимися с префикса.
  `java.util.SortedMap<java.lang.Integer,​ParameterMap>` | `subIndexed​(java.lang.String prefix)` | Возвращает новый мап.
  `java.util.Map<java.lang.String,​ParameterMap>` | `subKeyed​(java.lang.String prefix)` | Возвращает новый мап.
  `ParameterMap` | `subLined​(java.lang.String key, java.lang.String defValue)` | Возвращает новый подмап объектов, с ключами разбитыми из строки вида "custom:Пользовательские;test:Тестовые;0:Активен".
  `protected void` | `throwActionEvent​(java.awt.event.ActionEvent e)` |
  `void` | `toReference​(javax.naming.Reference ref)` |
  `java.lang.String` | `toString()` |

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

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

- ## Field Details

  - ### mapPrint

    protected java.lang.String mapPrint

- ## Constructor Details

  - ### ParameterMap

    public ParameterMap()

- ## Method Details

  - ### addActionListener

    public void addActionListener​(java.awt.event.ActionListener al)

  - ### throwActionEvent

    protected void throwActionEvent​(java.awt.event.ActionEvent e)

  - ### get

    public java.lang.String get​(java.lang.String key)
    Получение значения из конфига.
    Parameters:
      `key` - ключ
    Returns:
      значение или null, если отсутствует.

  - ### get

    public abstract java.lang.String get​(java.lang.String key, java.lang.String def)

  - ### getInt

    public int getInt​(java.lang.String key, int def)

  - ### getFloat

    public float getFloat​(java.lang.String key, float def)

  - ### getLong

    public long getLong​(java.lang.String key, long def)

  - ### getDouble

    public double getDouble​(java.lang.String key, double def)

  - ### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(java.lang.String key, java.math.BigDecimal def)

  - ### getBoolean

    public boolean getBoolean​(java.lang.String key, boolean def)

  - ### getChar

    public char getChar​(java.lang.String key, char def)

  - ### getLocalDate

    public java.time.LocalDate getLocalDate​(java.lang.String key, java.time.LocalDate def)

  - ### getEnum

    public <T extends java.lang.Enum<T>> T getEnum​(java.lang.Class<T> enumType, java.lang.String key, T def)

  - ### getIntegerList

    public java.util.List<java.lang.Integer> getIntegerList​(java.lang.String key, java.util.List<java.lang.Integer> defList)
    Получение списка целых чисел из числовой строки разделенной запятыми.
    Parameters:
      `key` -
      `defList` -
    Returns:
      если параметр не задан вернет defList, иначе пустой лист или со значениями.

  - ### entrySet

    public abstract java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.String>> entrySet()

  - ### extract

    protected void extract​(java.util.Map<java.lang.String,​java.lang.String> data)

  - ### getMap

    public java.util.Map<java.lang.String,​java.lang.String> getMap()
    Возвращает в виде жавовского Map все значения.

  - ### fingerprint

    public java.lang.String fingerprint()

  - ### sub

    public ParameterMap sub​(java.lang.String prefix)
    Возвращает новый подмап объектов, с ключами, начинающимися с префикса. Ключи теряют этот префикс, остаётся часть после префикса. Хак: для клонирования параметрМапа можно передать пустую строку.

         prefix.1=2
         prefix.3=4
         ->
         1=2
         3=4

    Parameters:
      `prefix` - префикс.
    Returns:
      подмножество исходного мэпа c отрезанными из ключей префиксами. Никогда не null.

  - ### subIndexed

    public java.util.SortedMap<java.lang.Integer,​ParameterMap> subIndexed​(java.lang.String prefix)
    Возвращает новый мап. Берёт всё под префиксами и составляет мэп из числовых ид за ними и последующих значений, формируя из них 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:
      `prefix` - префикс определяющий мэп
    Returns:
      SortedMap. Никогда не null.
    See Also:
      `subKeyed(String)`

  - ### subKeyed

    public java.util.Map<java.lang.String,​ParameterMap> subKeyed​(java.lang.String prefix)
    Возвращает новый мап. Берёт всё под префиксами и иставляет мэп из строковых ид за ними и последующих значений, формируя из них 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:
      `prefix` - префикс определяющий мэп
    Returns:
      Map. Никогда не null.
    See Also:
      `subIndexed(String)`

  - ### toReference

    public void toReference​(javax.naming.Reference ref)

  - ### inherit

    public ParameterMap inherit​(ParameterMap parameterMap)
    Создает новый ParameterMap, где текущий становится родительским к аргументу parameterMap.
    Т.е. при вызове `get(String, String)` у результата значение будет взято у аргумента parameterMap, а при отсутсвии - у текущего (ставшего родительским).
    `

         ParameterMap parent;
         ParameterMap child;
         ...
         ParameterMap current = parent.inherit( child );

    `
    Parameters:
      `parameterMap` -
    Returns:

  - ### toString

    public java.lang.String toString()
    Overrides:
      `toString` in class `java.lang.Object`

  - ### subLined

    public ParameterMap subLined​(java.lang.String key, java.lang.String defValue)
    Возвращает новый подмап объектов, с ключами разбитыми из строки вида "custom:Пользовательские;test:Тестовые;0:Активен".

         key=1:2;3:4
         ->
         1=2
         3=4

    Parameters:
      `key` - ключ.
      `defValue` - по дефолту значение ключа в исходном виде , или null если пусть вернётся пустой мап
    Returns:
      подмножество исходного мэпа c сформированными ключами из значения. Врзвращается упорядоченный LinkedHashMap, т.е. entrySet выдаст в порядке как описано в строке. Никогда не null.