Package ru.bitel.common
Class ParameterMap
java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.common.ParameterMap
- Direct Known Subclasses:
ParameterMap.DefaultParameterMap
,Preferences
public abstract class ParameterMap
extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
Исходный map параметров.
Его главная ф-ция - get( key, value ). Остальные используют эту функцию для парсинга значений (float, double). Во всей этой схеме отсутствие элемента и value==null одно и то же (иногда это важно понимать). Можно врапить различные объекты, например сделать ParameterMap из XML элемента, из Map, из HttpRequest.
TODO: хорошо бы HttpRequest обернуть ParameterMap, тогда в акшенах, которые используются также для рассылки почты request можно было использовать прозрачно HttpRequest или парамерты рассылки почты
Его главная ф-ция - get( key, value ). Остальные используют эту функцию для парсинга значений (float, double). Во всей этой схеме отсутствие элемента и value==null одно и то же (иногда это важно понимать). Можно врапить различные объекты, например сделать ParameterMap из XML элемента, из Map, из HttpRequest.
TODO: хорошо бы HttpRequest обернуть ParameterMap, тогда в акшенах, которые используются также для рассылки почты request можно было использовать прозрачно HttpRequest или парамерты рассылки почты
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Примитивная/минимальная имплементация ParameterMap хранящая в Map<String, String> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
entrySet()
protected void
Аналог sub, но префикс не отрезается, просто в новом ParameterMap остаются ключи с указанным префиксом.Получение значения из конфига.abstract String
getBigDecimal
(String key, BigDecimal def) boolean
getBoolean
(String key, boolean def) char
double
<T extends Enum<T>>
TПолучение значения представляющего строковое значение enum-типаfloat
int
getIntegerList
(String key, List<Integer> defList) Получение списка целых чисел из числовой строки разделенной запятыми.getLocalDate
(String key, LocalDate def) long
getMap()
Возвращает в виде жавовского Map все значения.inherit
(ParameterMap parameterMap) Создает новый ParameterMap, где текущий становится родительским к аргументу parameterMap.
Т.е. при вызовеget(String, String)
у результата значение будет взято у аргумента parameterMap, а при отсутсвии - у текущего (ставшего родительским).
Возвращает новый подмап объектов, с ключами, начинающимися с префикса.subIndexed
(String prefix) Возвращает новый мап ParameterMap-ов.Возвращает новый мап ParameterMap-ов.Возвращает новый подмап объектов, с ключами разбитыми из строки вида "custom:Пользовательские;test:Тестовые;0:Активен".protected void
void
toReference
(Reference ref) toString()
Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
error, error, error, getLogger, logError, logError
-
Constructor Details
-
ParameterMap
public ParameterMap()
-
-
Method Details
-
addActionListener
-
throwActionEvent
-
get
Получение значения из конфига.- Parameters:
key
- ключ- Returns:
- значение или null, если отсутствует.
-
get
-
getInt
-
getFloat
-
getLong
-
getDouble
-
getBigDecimal
-
getBoolean
-
getChar
-
getLocalDate
-
getEnum
Получение значения представляющего строковое значение enum-типа- Type Parameters:
T
- тип, представляющий enum (!)- Parameters:
enumType
- класс енума, указанный напрямую (если получать например из def то не получится передать def=null)key
- ключdef
- значение по умолчанию- Returns:
- значение enum-типа или значение по умолчанию
-
getIntegerList
Получение списка целых чисел из числовой строки разделенной запятыми.- Parameters:
key
-defList
-- Returns:
- если параметр не задан вернет defList, иначе пустой лист или со значениями.
-
entrySet
-
extract
-
getMap
Возвращает в виде жавовского Map все значения. По-нормальному перегрузить, чтобы брал напрямую оттуда где хранит имплементация, а не юзалась общая entrySet. -
sub
Возвращает новый подмап объектов, с ключами, начинающимися с префикса. Ключи теряют этот префикс, остаётся часть после префикса. Не забывайте завершающую точку передавать с префиксом. Хак: для клонирования параметрМапа можно передать пустую строку.prefix.1=2 prefix.3=4 -> 1=2 3=4
- Parameters:
prefix
- префикс.- Returns:
- подмножество исходного мэпа c отрезанными из ключей префиксами. Никогда не null.
-
filter
Аналог sub, но префикс не отрезается, просто в новом ParameterMap остаются ключи с указанным префиксом. -
subIndexed
Возвращает новый мап ParameterMap-ов. Берёт всё под префиксами и составляет мэп из числовых ид за ними и последующих значений, формируя из них 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
Возвращает новый мап ParameterMap-ов. Берёт всё под префиксами и иставляет мэп из строковых ид за ними и последующих значений, формируя из них 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:
-
toReference
-
inherit
Создает новый ParameterMap, где текущий становится родительским к аргументу parameterMap.
Т.е. при вызовеget(String, String)
у результата значение будет взято у аргумента parameterMap, а при отсутсвии - у текущего (ставшего родительским).
ParameterMap parent; ParameterMap child; ... ParameterMap current = parent.inherit( child );
- Parameters:
parameterMap
-- Returns:
-
toString
-
subLined
Возвращает новый подмап объектов, с ключами разбитыми из строки вида "custom:Пользовательские;test:Тестовые;0:Активен".key=1:2;3:4 -> 1=2 3=4
- Parameters:
key
- ключ.defValue
- по дефолту значение ключа в исходном виде , или null если пусть вернётся пустой мап- Returns:
- подмножество исходного мэпа c сформированными ключами из значения. Врзвращается упорядоченный LinkedHashMap, т.е. entrySet выдаст в порядке как описано в строке. Никогда не null.
-