Class RadiusAttributeSet
java.lang.Object
ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
RadiusPacket
Набор радиус атрибутов. RadiusPacket расширяет данный класс.
vendor - код вендора или -1 для стандартных атрибутов.
vendor - код вендора или -1 для стандартных атрибутов.
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
RadiusAttributeSet
(Map<Integer, List<RadiusAttribute<?>>> standartAttributes, Map<Integer, Map<Integer, List<RadiusAttribute<?>>>> vendorAttributes) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAttribute
(RadiusAttribute<?> attribute) Добавление атрибута в набор.void
Добавление атрибутов в данный набор.boolean
contains
(RadiusAttributeSet attributeSet) boolean
<A extends RadiusAttribute>
AgetAttribute
(int vendor, int type) Получение атрибута по коду вендора и типу.List<RadiusAttribute<?>>
getAttributes
(int vendor, int type) Получение списка атрибутов указанного вендора и типа.getAttributeValue
(int vendor, int type, String prefix, Object def) Получение значения атрибута с учетом префикса, если установлен.getAttributeValue
(int vendor, int type, String prefix, Pattern regex, Object def) Получение значения атрибута с учетом префикса, если установлен.byte[]
getByteAttribute
(int vendor, int type, byte[] def) getIntAttribute
(int vendor, int type, Integer def) static RadiusAttributeSet
getRadiusAttributeSet
(String attributes) static RadiusAttributeSet
getRadiusAttributeSet
(Map<Integer, RadiusAttributeSet> setMap, Set<Integer> ids) getStringAttribute
(int vendor, int type, String def) getStringAttribute
(int vendor, int type, String prefix, String def) Получение значения строкового атрибута с указанным префиксом.boolean
isEmpty()
static Map<String,
RadiusAttributeSet> newRadiusAttributeRealmMap
(ParameterMap params, String prefix, String param) static RadiusAttributeSet
newRadiusAttributeSet
(String attributes) Создание набора атрибутов из строки, вида:
mpd-limit=out#1=all rate-limit 10000000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
Атрибуты разделены точкой с запятой.static RadiusAttributeSet
newRadiusAttributeSet
(Map<Integer, RadiusAttributeSet> setMap, Set<Integer> ids) Создание набора атрибутов из map наборов.static Map<Integer,
RadiusAttributeSet> newRadiusAttributeSetMap
(ParameterMap params, String prefix, String param) Создание map наборов атрибутов из конфига.
newRadiusAttributeSetMap( conf, "attrset.", "attributes" ) загрузит атрибуты из конфига вида:
attrset.1.attributes=...static RadiusAttributeSetRealmMap
newRadiusAttributeSetRealmMap
(ParameterMap params, String prefix, String param) Создание map наборов атрибутов по реалмам из конфига.
newRadiusAttributeSetRealmMap( conf, "attrset.", "attributes" ) загрузит атрибуты из конфига вида:
attrset.1.attributes=...void
removeAttributes
(int vendor, int type) void
setAttribute
(RadiusAttribute<?> attribute) Установка атрибутаvoid
setAttributes
(int vendor, int type, List<RadiusAttribute<?>> attributes) Установка атрибутов.void
Установка (с заменой совпадающих) атрибутов в данный набор.void
setByteAttribute
(int vendor, int type, byte[] value) void
setIntAttribute
(int vendor, int type, int value) void
setStringAttribute
(int vendor, int type, String value) toString()
protected final void
toString
(Set<Map.Entry<Integer, List<RadiusAttribute<?>>>> entrySet, StringBuilder sb)
-
Field Details
-
standartAttributes
-
vendorAttributes
-
-
Constructor Details
-
RadiusAttributeSet
protected RadiusAttributeSet(Map<Integer, List<RadiusAttribute<?>>> standartAttributes, Map<Integer, Map<Integer, List<RadiusAttribute<?>>>> vendorAttributes) -
RadiusAttributeSet
public RadiusAttributeSet()
-
-
Method Details
-
newRadiusAttributeSet
Создание набора атрибутов из строки, вида:
mpd-limit=out#1=all rate-limit 10000000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
Атрибуты разделены точкой с запятой.- Parameters:
attributes
-- Returns:
-
getRadiusAttributeSet
-
newRadiusAttributeSet
public static RadiusAttributeSet newRadiusAttributeSet(Map<Integer, RadiusAttributeSet> setMap, Set<Integer> ids) Создание набора атрибутов из map наборов.- Parameters:
setMap
-ids
- коды наборов из map, которые нужно добавить в новый набор.- Returns:
-
getRadiusAttributeSet
public static RadiusAttributeSet getRadiusAttributeSet(Map<Integer, RadiusAttributeSet> setMap, Set<Integer> ids) -
newRadiusAttributeSetMap
public static Map<Integer,RadiusAttributeSet> newRadiusAttributeSetMap(ParameterMap params, String prefix, String param) Создание map наборов атрибутов из конфига.
newRadiusAttributeSetMap( conf, "attrset.", "attributes" ) загрузит атрибуты из конфига вида:
attrset.1.attributes=... attrset.2.attributes=... attrset.3.attributes=...- Parameters:
params
-prefix
-param
-- Returns:
-
newRadiusAttributeSetRealmMap
public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap(ParameterMap params, String prefix, String param) Создание map наборов атрибутов по реалмам из конфига.
newRadiusAttributeSetRealmMap( conf, "attrset.", "attributes" ) загрузит атрибуты из конфига вида:
attrset.1.attributes=... attrset.2.attributes=... attrset.2.local.attributes=... attrset.3.attributes=...- Parameters:
params
-prefix
-param
-- Returns:
-
newRadiusAttributeRealmMap
public static Map<String,RadiusAttributeSet> newRadiusAttributeRealmMap(ParameterMap params, String prefix, String param) -
addAttributes
Добавление атрибутов в данный набор.- Parameters:
set
-
-
setAttributes
Установка (с заменой совпадающих) атрибутов в данный набор.- Parameters:
set
-
-
addAttribute
Добавление атрибута в набор.- Parameters:
attribute
-
-
setAttributes
Установка атрибутов. Код вендора и тип атрибута должны совпадать со значениями в attributes!- Parameters:
vendor
- - код вендора или -1 для стандартных атрибутов.type
-attributes
-
-
setAttribute
Установка атрибута- Parameters:
attribute
-
-
getAttributes
Получение списка атрибутов указанного вендора и типа.- Parameters:
vendor
- код вендора или -1 для стандартных атрибутов.type
-- Returns:
-
getAttribute
Получение атрибута по коду вендора и типу.- Type Parameters:
A
-- Parameters:
vendor
- код вендора или -1 для стандартных атрибутов.type
-- Returns:
-
getIntAttribute
-
getStringAttribute
-
getByteAttribute
public byte[] getByteAttribute(int vendor, int type, byte[] def) -
setIntAttribute
public void setIntAttribute(int vendor, int type, int value) -
setStringAttribute
-
setByteAttribute
public void setByteAttribute(int vendor, int type, byte[] value) -
removeAttributes
public void removeAttributes(int vendor, int type) -
contains
-
equals
-
toString
-
toString
protected final void toString(Set<Map.Entry<Integer, List<RadiusAttribute<?>>>> entrySet, StringBuilder sb) -
isEmpty
public boolean isEmpty() -
getStringAttribute
Получение значения строкового атрибута с указанным префиксом.- Parameters:
vendor
- код вендора или -1 для стандартных атрибутов.type
- тип атрибута.prefix
- необязательный префикс, может быть null.def
- значение, которое будет возвращено, если атрибут с префиксом не найден.- Returns:
- значение атрибута без префикса.
-
getAttributeValue
Получение значения атрибута с учетом префикса, если установлен.- Parameters:
vendor
- код вендора или -1 для стандартных атрибутов.type
- тип атрибута.prefix
- необязательный префикс, может быть null. Если указан, то атрибут должен быть строковым.def
- значение по умолчанию, если атрибут не найден.- Returns:
- значение атрибута без префикса.
-
getAttributeValue
Получение значения атрибута с учетом префикса, если установлен.- Parameters:
vendor
- код вендора или -1 для стандартных атрибутов.type
- тип атрибута.prefix
- необязательный префикс, может быть null. Если указан, то атрибут должен быть строковым.regex
- необязательный regex, но при его использовании значение атрибута должна быть строка.def
- значение по умолчанию, если атрибут не найден.- Returns:
- значение атрибута без префикса.
-