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
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRadiusAttributeSet(Map<Integer, List<RadiusAttribute<?>>> standartAttributes, Map<Integer, Map<Integer, List<RadiusAttribute<?>>>> vendorAttributes) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAttribute(RadiusAttribute<?> attribute) Добавление атрибута в набор.voidДобавление атрибутов в данный набор.booleancontains(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 RadiusAttributeSetgetRadiusAttributeSet(String attributes) static RadiusAttributeSetgetRadiusAttributeSet(Map<Integer, RadiusAttributeSet> setMap, Set<Integer> ids) getStringAttribute(int vendor, int type, String def) getStringAttribute(int vendor, int type, String prefix, String def) Получение значения строкового атрибута с указанным префиксом.booleanisEmpty()static Map<String,RadiusAttributeSet> newRadiusAttributeRealmMap(ParameterMap params, String prefix, String param) static RadiusAttributeSetnewRadiusAttributeSet(String attributes) Создание набора атрибутов из строки, вида:
mpd-limit=out#1=all rate-limit 10000000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
Атрибуты разделены точкой с запятой.static RadiusAttributeSetnewRadiusAttributeSet(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 RadiusAttributeSetRealmMapnewRadiusAttributeSetRealmMap(ParameterMap params, String prefix, String param) Создание map наборов атрибутов по реалмам из конфига.
newRadiusAttributeSetRealmMap( conf, "attrset.", "attributes" ) загрузит атрибуты из конфига вида:
attrset.1.attributes=...voidremoveAttributes(int vendor, int type) voidsetAttribute(RadiusAttribute<?> attribute) Установка атрибутаvoidsetAttributes(int vendor, int type, List<RadiusAttribute<?>> attributes) Установка атрибутов.voidУстановка (с заменой совпадающих) атрибутов в данный набор.voidsetByteAttribute(int vendor, int type, byte[] value) voidsetIntAttribute(int vendor, int type, int value) voidsetStringAttribute(int vendor, int type, String value) toString()protected final voidtoString(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:
- значение атрибута без префикса.
-