Class TLV
- java.lang.Object
-
- org.apache.directory.api.asn1.ber.tlv.TLV
-
public class TLV extends Object
This class is used to store Tags, Lengths and Values decoded from a PDU.- Author:
- Apache Directory Project
-
-
Field Summary
Fields Modifier and Type Field Description static byteCONSTRUCTED_FLAGtag flag for the primitive/constructed bit - 0010 0000 - 0x20static intLENGTH_EXTENSION_RESERVEDValue of the reserved extensionstatic intLENGTH_LONG_FORMA mask to get the Length formstatic intLENGTH_SHORT_MASKA mask to get the long form valuestatic intSHORT_MASKtag mask for the short tag format - 0001 1111 - 0x1Fstatic byteTYPE_CLASS_MASKmask to get the type class valuestatic byteTYPE_CLASS_UNIVERSALvalue for the universal type class
-
Constructor Summary
Constructors Constructor Description TLV(int id)Creates a new TLV object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static byte[]getBytes(int length)Utility function that return a byte array representing the lengthintgetExpectedLength()Get the TLV expected length.intgetId()intgetLength()intgetLengthBytesRead()intgetLengthNbBytes()static intgetNbBytes(int length)Utility function that return the number of bytes necessary to store the lengthTLVgetParent()intgetSize()The TLV size is calculated by adding the Tag's size, the Length's size and the Value's length, if any.bytegetTag()BerValuegetValue()voidincLengthBytesRead()Increment the number of bytes read for this TLVbooleanisConstructed()Checks to see if the current tlv's tag is constructed.static booleanisConstructed(byte tag)Checks to see if the tag is constructed.static booleanisPrimitive(byte tag)Checks to see if the tag represented by this Tag is primitive or constructed.static booleanisUniversal(byte tag)Tells if the tag is Universal or notvoidreset()Reset the TLV, so it can be reused for the next PDU decoding.voidsetExpectedLength(int expectedLength)Set the new expected length of the current TLV.voidsetLength(int length)Set the TLV's lengthvoidsetLengthBytesRead(int lengthBytesRead)Set the currently read TLV's length bytes.voidsetLengthNbBytes(int lengthNbBytes)Set the number of bytes we should use to store the TLV's length.voidsetParent(TLV parent)voidsetTag(byte tag)Set a tag value for this TLV.StringtoString()Get a String representation of the TLV
-
-
-
Field Detail
-
CONSTRUCTED_FLAG
public static final byte CONSTRUCTED_FLAG
tag flag for the primitive/constructed bit - 0010 0000 - 0x20- See Also:
- Constant Field Values
-
TYPE_CLASS_MASK
public static final byte TYPE_CLASS_MASK
mask to get the type class value- See Also:
- Constant Field Values
-
TYPE_CLASS_UNIVERSAL
public static final byte TYPE_CLASS_UNIVERSAL
value for the universal type class- See Also:
- Constant Field Values
-
SHORT_MASK
public static final int SHORT_MASK
tag mask for the short tag format - 0001 1111 - 0x1F- See Also:
- Constant Field Values
-
LENGTH_LONG_FORM
public static final int LENGTH_LONG_FORM
A mask to get the Length form- See Also:
- Constant Field Values
-
LENGTH_EXTENSION_RESERVED
public static final int LENGTH_EXTENSION_RESERVED
Value of the reserved extension- See Also:
- Constant Field Values
-
LENGTH_SHORT_MASK
public static final int LENGTH_SHORT_MASK
A mask to get the long form value- See Also:
- Constant Field Values
-
-
Method Detail
-
isConstructed
public static boolean isConstructed(byte tag)
Checks to see if the tag is constructed.- Parameters:
tag- the TLV's tag- Returns:
- true if constructed, false if primitive
-
isConstructed
public boolean isConstructed()
Checks to see if the current tlv's tag is constructed.- Returns:
- true if constructed, false if primitive
-
isPrimitive
public static boolean isPrimitive(byte tag)
Checks to see if the tag represented by this Tag is primitive or constructed.- Parameters:
tag- the tag to be checked- Returns:
- true if it is primitive, false if it is constructed
-
isUniversal
public static boolean isUniversal(byte tag)
Tells if the tag is Universal or not- Parameters:
tag- the tag to be checked- Returns:
- true if it is primitive, false if it is constructed
-
reset
public void reset()
Reset the TLV, so it can be reused for the next PDU decoding.
-
getTag
public byte getTag()
- Returns:
- Returns the tag.
-
setTag
public void setTag(byte tag)
Set a tag value for this TLV.- Parameters:
tag- the tag field for this TLV.
-
getValue
public BerValue getValue()
- Returns:
- Returns the value.
-
getSize
public int getSize()
The TLV size is calculated by adding the Tag's size, the Length's size and the Value's length, if any.- Returns:
- Returns the size of the TLV.
-
getNbBytes
public static int getNbBytes(int length)
Utility function that return the number of bytes necessary to store the length- Parameters:
length- The length to store in a byte array- Returns:
- The number of bytes necessary to store the length.
- See Also:
- X.690
-
getBytes
public static byte[] getBytes(int length)
Utility function that return a byte array representing the length- Parameters:
length- The length to store in a byte array- Returns:
- The byte array representing the length.
-
getParent
public TLV getParent()
- Returns:
- The parent.
-
setParent
public void setParent(TLV parent)
- Parameters:
parent- The parent to set.
-
getExpectedLength
public int getExpectedLength()
Get the TLV expected length.- Returns:
- The expectedLength.
-
setExpectedLength
public void setExpectedLength(int expectedLength)
Set the new expected length of the current TLV.- Parameters:
expectedLength- The expectedLength to set.
-
getLengthNbBytes
public int getLengthNbBytes()
- Returns:
- The number of bytes necessary to store the TLV's length
-
setLengthNbBytes
public void setLengthNbBytes(int lengthNbBytes)
Set the number of bytes we should use to store the TLV's length.- Parameters:
lengthNbBytes- The number of bytes necessary to store the TLV's length
-
getLength
public int getLength()
- Returns:
- the TLV's length
-
setLength
public void setLength(int length)
Set the TLV's length- Parameters:
length- the TLV's length
-
getLengthBytesRead
public int getLengthBytesRead()
- Returns:
- The currently read TLV's length bytes
-
setLengthBytesRead
public void setLengthBytesRead(int lengthBytesRead)
Set the currently read TLV's length bytes.- Parameters:
lengthBytesRead- the currently read TLV's length bytes
-
incLengthBytesRead
public void incLengthBytesRead()
Increment the number of bytes read for this TLV
-
getId
public int getId()
- Returns:
- The TLV's ID
-
-