Package org.apache.qpid.protonj2.types
Class DeliveryTag.ProtonDeliveryTag
- java.lang.Object
-
- org.apache.qpid.protonj2.types.DeliveryTag.ProtonDeliveryTag
-
- All Implemented Interfaces:
DeliveryTag
- Enclosing interface:
- DeliveryTag
public static class DeliveryTag.ProtonDeliveryTag extends java.lang.Object implements DeliveryTag
A default DeliveryTag implementation that can be used by a codec when decoding DeliveryTag instances from the wire.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.qpid.protonj2.types.DeliveryTag
DeliveryTag.ProtonDeliveryTag
-
-
Field Summary
Fields Modifier and Type Field Description static DeliveryTag.ProtonDeliveryTag
EMPTY_TAG
-
Constructor Summary
Constructors Constructor Description ProtonDeliveryTag()
ProtonDeliveryTag(byte[] tagBytes)
ProtonDeliveryTag(ProtonBuffer tagBytes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeliveryTag
copy()
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.boolean
equals(java.lang.Object other)
int
hashCode()
void
release()
Optional method used by tag implementations that provide pooling of tags.ProtonBuffer
tagBuffer()
Returns a view of thisDeliveryTag
object as aProtonBuffer
.byte[]
tagBytes()
Returns a view of thisDeliveryTag
object as a byte array.int
tagLength()
java.lang.String
toString()
void
writeTo(ProtonBuffer buffer)
Writes the tag as a sequence of bytes into the given buffer in the manner most efficient for the underlyingDeliveryTag
implementation.
-
-
-
Field Detail
-
EMPTY_TAG
public static final DeliveryTag.ProtonDeliveryTag EMPTY_TAG
-
-
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 thisDeliveryTag
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 interfaceDeliveryTag
- 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 interfaceDeliveryTag
- 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 thisDeliveryTag
object as aProtonBuffer
. 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 interfaceDeliveryTag
- 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 interfaceDeliveryTag
- Returns:
- a copy of the underlying bytes that compose this delivery tag.
-
release
public void release()
Description copied from interface:DeliveryTag
Optional method used by tag implementations that provide pooling of tags. Implementations can do nothing here if no release mechanics are needed.- Specified by:
release
in interfaceDeliveryTag
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.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 underlyingDeliveryTag
implementation.- Specified by:
writeTo
in interfaceDeliveryTag
- Parameters:
buffer
- The target buffer where the tag bytes are to be written.
-
-