Package ru.bitel.bgbilling.kernel.network.radius

# 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 для стандартных атрибутов.

- ## 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> A` | `getAttribute​(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, "attrset
  `static RadiusAttributeSetRealmMap` | `newRadiusAttributeSetRealmMap​(ParameterMap params, java.lang.String prefix, java.lang.String param)` | Создание map наборов атрибутов по реалмам из конфига. newRadiusAttributeSetRealmMap( conf, "attrset
  `void` | `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

    public 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
    Атрибуты разделены точкой с запятой.
    Parameters:
      `attributes` -
    Returns:

  - ### getRadiusAttributeSet

    public static RadiusAttributeSet getRadiusAttributeSet​(java.lang.String attributes)

  - ### 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

    public void addAttributes​(RadiusAttributeSet set)
    Добавление атрибутов в данный набор.
    Parameters:
      `set` -

  - ### setAttributes

    public void setAttributes​(RadiusAttributeSet set)
    Установка (с заменой совпадающих) атрибутов в данный набор.
    Parameters:
      `set` -

  - ### addAttribute

    public void addAttribute​(RadiusAttribute<?> attribute)
    Добавление атрибута в набор.
    Parameters:
      `attribute` -

  - ### setAttributes

    public void setAttributes​(int vendor, int type, java.util.List<RadiusAttribute<?>> attributes)
    Установка атрибутов. Код вендора и тип атрибута должны совпадать со значениями в attributes!
    Parameters:
      `vendor` - - код вендора или -1 для стандартных атрибутов.
      `type` -
      `attributes` -

  - ### setAttribute

    public void setAttribute​(RadiusAttribute<?> attribute)
    Установка атрибута
    Parameters:
      `attribute` -

  - ### getAttributes

    public java.util.List<RadiusAttribute<?>> getAttributes​(int vendor, int type)
    Получение списка атрибутов указанного вендора и типа.
    Parameters:
      `vendor` - код вендора или -1 для стандартных атрибутов.
      `type` -
    Returns:

  - ### getAttribute

    public <A extends RadiusAttribute> A getAttribute​(int vendor, int type)
    Получение атрибута по коду вендора и типу.
    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

    public boolean contains​(RadiusAttributeSet attributeSet)

  - ### equals

    public boolean equals​(java.lang.Object o)
    Overrides:
      `equals` in class `java.lang.Object`

  - ### toString

    public java.lang.String toString()
    Overrides:
      `toString` in class `java.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:
      значение атрибута без префикса.