Class DeliveryTag.ProtonDeliveryTag

  • All Implemented Interfaces:
    DeliveryTag
    Enclosing interface:
    DeliveryTag

    public static class DeliveryTag.ProtonDeliveryTag
    extends Object
    implements DeliveryTag
    A default DeliveryTag implementation that can be used by a codec when decoding DeliveryTag instances from the wire.
    • Constructor Detail

      • ProtonDeliveryTag

        public ProtonDeliveryTag()
      • ProtonDeliveryTag

        public ProtonDeliveryTag​(byte[] tagBytes)
      • ProtonDeliveryTag

        public ProtonDeliveryTag​(ProtonBuffer tagBytes)
    • Method Detail

      • tagBytes

        public byte[] tagBytes()
        Description copied from interface: DeliveryTag
        Returns a view of this DeliveryTag object as a byte array. The returned array may be the actual underlying tag bytes or a synthetic view based on the value used to generate the tag. It is advised not to modify the returned value and copy if such modification are necessary to the caller.
        Specified by:
        tagBytes in interface DeliveryTag
        Returns:
        the underlying tag bytes as a byte array that may or may no be a singleton instance..
      • tagLength

        public int tagLength()
        Specified by:
        tagLength in interface DeliveryTag
        Returns:
        the total number of bytes needed to represent the given tag.
      • tagBuffer

        public ProtonBuffer tagBuffer()
        Description copied from interface: DeliveryTag
        Returns a view of this DeliveryTag object as a ProtonBuffer. The returned array may be the actual underlying tag bytes or a synthetic view based on the value used to generate the tag. It is advised not to modify the returned value and copy if such modification are necessary to the caller.
        Specified by:
        tagBuffer in interface DeliveryTag
        Returns:
        the ProtonBuffer view of the tag bytes.
      • copy

        public DeliveryTag copy()
        Description copied from interface: DeliveryTag
        Create a copy of this delivery tag, the copy should account for any underlying pooling of tags that the tag source's implementation is using.
        Specified by:
        copy in interface DeliveryTag
        Returns:
        a copy of the underlying bytes that compose this delivery tag.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • writeTo

        public void writeTo​(ProtonBuffer buffer)
        Description copied from interface: DeliveryTag
        Writes the tag as a sequence of bytes into the given buffer in the manner most efficient for the underlying DeliveryTag implementation.
        Specified by:
        writeTo in interface DeliveryTag
        Parameters:
        buffer - The target buffer where the tag bytes are to be written.