Class 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
    • Constructor Detail

      • TLV

        public TLV​(int id)
        Creates a new TLV object.
        Parameters:
        id - the TLV's id
    • 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
      • toString

        public String toString()
        Get a String representation of the TLV
        Overrides:
        toString in class Object
        Returns:
        A String