Class RadiusAttributeSet
java.lang.Object
ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
RadiusPacket
public class RadiusAttributeSet
extends java.lang.Object
implements java.lang.Cloneable
Набор радиус атрибутов. RadiusPacket расширяет данный класс.
vendor - код вендора или -1 для стандартных атрибутов.
vendor - код вендора или -1 для стандартных атрибутов.
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>standartAttributesprotected java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>>vendorAttributes -
Constructor Summary
Constructors Modifier Constructor Description RadiusAttributeSet()protectedRadiusAttributeSet(java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>> standartAttributes, java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> vendorAttributes) -
Method Summary
Modifier and Type Method Description voidaddAttribute(RadiusAttribute<?> attribute)Добавление атрибута в набор.voidaddAttributes(RadiusAttributeSet set)Добавление атрибутов в данный набор.booleancontains(RadiusAttributeSet attributeSet)booleanequals(java.lang.Object o)<A extends RadiusAttribute>
AgetAttribute(int vendor, int type)Получение атрибута по коду вендора и типу.java.util.List<RadiusAttribute<?>>getAttributes(int vendor, int type)Получение списка атрибутов указанного вендора и типа.java.lang.ObjectgetAttributeValue(int vendor, int type, java.lang.String prefix, java.lang.Object def)Получение значения атрибута с учетом префикса, если установлен.java.lang.ObjectgetAttributeValue(int vendor, int type, java.lang.String prefix, java.util.regex.Pattern regex, java.lang.Object def)Получение значения атрибута с учетом префикса, если установлен.byte[]getByteAttribute(int vendor, int type, byte[] def)java.lang.IntegergetIntAttribute(int vendor, int type, java.lang.Integer def)static RadiusAttributeSetgetRadiusAttributeSet(java.lang.String attributes)static RadiusAttributeSetgetRadiusAttributeSet(java.util.Map<java.lang.Integer,RadiusAttributeSet> setMap, java.util.Set<java.lang.Integer> ids)java.lang.StringgetStringAttribute(int vendor, int type, java.lang.String def)java.lang.StringgetStringAttribute(int vendor, int type, java.lang.String prefix, java.lang.String def)Получение значения строкового атрибута с указанным префиксом.booleanisEmpty()static java.util.Map<java.lang.String,RadiusAttributeSet>newRadiusAttributeRealmMap(ParameterMap params, java.lang.String prefix, java.lang.String param)static RadiusAttributeSetnewRadiusAttributeSet(java.lang.String attributes)Создание набора атрибутов из строки, вида:
mpd-limit=out#1=all rate-limit 10000000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
Атрибуты разделены точкой с запятой.static RadiusAttributeSetnewRadiusAttributeSet(java.util.Map<java.lang.Integer,RadiusAttributeSet> setMap, java.util.Set<java.lang.Integer> ids)Создание набора атрибутов из map наборов.static java.util.Map<java.lang.Integer,RadiusAttributeSet>newRadiusAttributeSetMap(ParameterMap params, java.lang.String prefix, java.lang.String param)Создание map наборов атрибутов из конфига.
newRadiusAttributeSetMap( conf, "attrsetstatic RadiusAttributeSetRealmMapnewRadiusAttributeSetRealmMap(ParameterMap params, java.lang.String prefix, java.lang.String param)Создание map наборов атрибутов по реалмам из конфига.
newRadiusAttributeSetRealmMap( conf, "attrsetvoidremoveAttributes(int vendor, int type)voidsetAttribute(RadiusAttribute<?> attribute)Установка атрибутаvoidsetAttributes(int vendor, int type, java.util.List<RadiusAttribute<?>> attributes)Установка атрибутов.voidsetAttributes(RadiusAttributeSet set)Установка (с заменой совпадающих) атрибутов в данный набор.voidsetByteAttribute(int vendor, int type, byte[] value)voidsetIntAttribute(int vendor, int type, int value)voidsetStringAttribute(int vendor, int type, java.lang.String value)java.lang.StringtoString()protected voidtoString(java.util.Set<java.util.Map.Entry<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> entrySet, java.lang.StringBuilder sb)Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
standartAttributes
protected final java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>> standartAttributes -
vendorAttributes
protected final java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> vendorAttributes
-
-
Constructor Details
-
RadiusAttributeSet
protected RadiusAttributeSet(java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>> standartAttributes, java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.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(java.util.Map<java.lang.Integer,RadiusAttributeSet> setMap, java.util.Set<java.lang.Integer> ids)Создание набора атрибутов из map наборов.- Parameters:
setMap-ids- коды наборов из map, которые нужно добавить в новый набор.- Returns:
-
getRadiusAttributeSet
public static RadiusAttributeSet getRadiusAttributeSet(java.util.Map<java.lang.Integer,RadiusAttributeSet> setMap, java.util.Set<java.lang.Integer> ids) -
newRadiusAttributeSetMap
public static java.util.Map<java.lang.Integer,RadiusAttributeSet> newRadiusAttributeSetMap(ParameterMap params, java.lang.String prefix, java.lang.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, java.lang.String prefix, java.lang.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 java.util.Map<java.lang.String,RadiusAttributeSet> newRadiusAttributeRealmMap(ParameterMap params, java.lang.String prefix, java.lang.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
public java.lang.Integer getIntAttribute(int vendor, int type, java.lang.Integer def) -
getStringAttribute
public java.lang.String getStringAttribute(int vendor, int type, java.lang.String def) -
getByteAttribute
public byte[] getByteAttribute(int vendor, int type, byte[] def) -
setIntAttribute
public void setIntAttribute(int vendor, int type, int value) -
setStringAttribute
public void setStringAttribute(int vendor, int type, java.lang.String value) -
setByteAttribute
public void setByteAttribute(int vendor, int type, byte[] value) -
removeAttributes
public void removeAttributes(int vendor, int type) -
contains
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
toString
protected final void toString(java.util.Set<java.util.Map.Entry<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> entrySet, java.lang.StringBuilder sb) -
isEmpty
public boolean isEmpty() -
getStringAttribute
public java.lang.String getStringAttribute(int vendor, int type, java.lang.String prefix, java.lang.String def)Получение значения строкового атрибута с указанным префиксом.- Parameters:
vendor- код вендора или -1 для стандартных атрибутов.type- тип атрибута.prefix- необязательный префикс, может быть null.def- значение, которое будет возвращено, если атрибут с префиксом не найден.- Returns:
- значение атрибута без префикса.
-
getAttributeValue
public java.lang.Object getAttributeValue(int vendor, int type, java.lang.String prefix, java.lang.Object def)Получение значения атрибута с учетом префикса, если установлен.- Parameters:
vendor- код вендора или -1 для стандартных атрибутов.type- тип атрибута.prefix- необязательный префикс, может быть null. Если указан, то атрибут должен быть строковым.def- значение по умолчанию, если атрибут не найден.- Returns:
- значение атрибута без префикса.
-
getAttributeValue
public java.lang.Object getAttributeValue(int vendor, int type, java.lang.String prefix, java.util.regex.Pattern regex, java.lang.Object def)Получение значения атрибута с учетом префикса, если установлен.- Parameters:
vendor- код вендора или -1 для стандартных атрибутов.type- тип атрибута.prefix- необязательный префикс, может быть null. Если указан, то атрибут должен быть строковым.regex- необязательный regex, но при его использовании значение атрибута должна быть строка.def- значение по умолчанию, если атрибут не найден.- Returns:
- значение атрибута без префикса.
-