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<?>>>
standartAttributes
protected java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>>
vendorAttributes
-
Constructor Summary
Constructors Modifier Constructor Description 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)
-
Method Summary
Modifier and Type Method Description void
addAttribute(RadiusAttribute<?> attribute)
Добавление атрибута в набор.void
addAttributes(RadiusAttributeSet set)
Добавление атрибутов в данный набор.boolean
contains(RadiusAttributeSet attributeSet)
boolean
equals(java.lang.Object o)
<A extends RadiusAttribute>
AgetAttribute(int vendor, int type)
Получение атрибута по коду вендора и типу.java.util.List<RadiusAttribute<?>>
getAttributes(int vendor, int type)
Получение списка атрибутов указанного вендора и типа.java.lang.Object
getAttributeValue(int vendor, int type, java.lang.String prefix, java.lang.Object def)
Получение значения атрибута с учетом префикса, если установлен.java.lang.Object
getAttributeValue(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.Integer
getIntAttribute(int vendor, int type, java.lang.Integer def)
static RadiusAttributeSet
getRadiusAttributeSet(java.lang.String attributes)
static RadiusAttributeSet
getRadiusAttributeSet(java.util.Map<java.lang.Integer,RadiusAttributeSet> setMap, java.util.Set<java.lang.Integer> ids)
java.lang.String
getStringAttribute(int vendor, int type, java.lang.String def)
java.lang.String
getStringAttribute(int vendor, int type, java.lang.String prefix, java.lang.String def)
Получение значения строкового атрибута с указанным префиксом.boolean
isEmpty()
static java.util.Map<java.lang.String,RadiusAttributeSet>
newRadiusAttributeRealmMap(ParameterMap params, java.lang.String prefix, java.lang.String param)
static RadiusAttributeSet
newRadiusAttributeSet(java.lang.String attributes)
Создание набора атрибутов из строки, вида:
mpd-limit=out#1=all rate-limit 10000000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
Атрибуты разделены точкой с запятой.static RadiusAttributeSet
newRadiusAttributeSet(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 RadiusAttributeSetRealmMap
newRadiusAttributeSetRealmMap(ParameterMap params, java.lang.String prefix, java.lang.String param)
Создание map наборов атрибутов по реалмам из конфига.
newRadiusAttributeSetRealmMap( conf, "attrsetvoid
removeAttributes(int vendor, int type)
void
setAttribute(RadiusAttribute<?> attribute)
Установка атрибутаvoid
setAttributes(int vendor, int type, java.util.List<RadiusAttribute<?>> attributes)
Установка атрибутов.void
setAttributes(RadiusAttributeSet set)
Установка (с заменой совпадающих) атрибутов в данный набор.void
setByteAttribute(int vendor, int type, byte[] value)
void
setIntAttribute(int vendor, int type, int value)
void
setStringAttribute(int vendor, int type, java.lang.String value)
java.lang.String
toString()
protected void
toString(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:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()- Overrides:
toString
in 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:
- значение атрибута без префикса.
-