Class TLV

    • 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.
      • 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.
      • 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