Class TlvInfo<I extends TlvInfo<I,?,H>,V,H extends TlvHeader>
java.lang.Object
ru.bitel.bgbilling.kernel.network.tlv.TlvInfo<I,V,H>
- All Implemented Interfaces:
Iterable<I>
- Direct Known Subclasses:
RadiusAttributeInfo
-
Field Summary
Modifier and TypeFieldDescriptionprotected final I[]
final String
protected final int
protected final int
protected I
final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
final int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetChild
(int type) iterator()
abstract Tlv<?,
?> read
(ByteBuffer bb, H header) void
readTypeLength
(ByteBuffer bb, H header, int parentLength, boolean headerInLength) Считывание типа и длины.void
protected final ByteBuffer
sliceData
(ByteBuffer bb, int length) Получения ByteBuffer содержащего dataabstract V
unwrapValue
(ByteBuffer data) valueToString
(Tlv<?, V> attribute) abstract ByteBuffer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
TYPE_OCTETS
public static final int TYPE_OCTETS- See Also:
-
TYPE_STRING
public static final int TYPE_STRING- See Also:
-
TYPE_LONG
public static final int TYPE_LONG- See Also:
-
TYPE_INTEGER
public static final int TYPE_INTEGER- See Also:
-
TYPE_SHORT
public static final int TYPE_SHORT- See Also:
-
TYPE_BYTE
public static final int TYPE_BYTE- See Also:
-
TYPE_DOUBLE
public static final int TYPE_DOUBLE- See Also:
-
TYPE_FLOAT
public static final int TYPE_FLOAT- See Also:
-
TYPE_TLV
public static final int TYPE_TLV- See Also:
-
TYPE_IPADDR
public static final int TYPE_IPADDR- See Also:
-
TYPE_ABINARY
public static final int TYPE_ABINARY- See Also:
-
TYPE_IPV6ADDR
public static final int TYPE_IPV6ADDR- See Also:
-
TYPE_IPV6PREFIX
public static final int TYPE_IPV6PREFIX- See Also:
-
paramTypeLength
protected final int paramTypeLength -
paramLengthLength
protected final int paramLengthLength -
type
public final int type -
name
-
valueType
public final int valueType -
parent
-
childrenList
-
children
-
childrenMap
-
nameChildrenMap
-
-
Constructor Details
-
TlvInfo
-
-
Method Details
-
setParent
-
getChild
-
getChild
-
iterator
-
read
-
unwrapValue
-
wrapValue
-
valueToString
-
sliceData
Получения ByteBuffer содержащего data- Parameters:
bb
-length
-- Returns:
-
readTypeLength
Считывание типа и длины. Обычно это производится родительской веткой, т.к. она знает какой размер у полей типа и длина. Частный случай родительской ветки - vendor- Parameters:
bb
-header
-parentLength
-headerInLength
-
-