diff options
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java index 6dbdb27026..f536d73469 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java @@ -19,6 +19,13 @@ public final class AMQShortString implements CharSequence private int _hashCode;
private static final char[] EMPTY_CHAR_ARRAY = new char[0];
+ public AMQShortString(byte[] data)
+ {
+
+ _data = ByteBuffer.wrap(data);
+ }
+
+
public AMQShortString(String data)
{
this(data == null ? EMPTY_CHAR_ARRAY : data.toCharArray());
@@ -131,6 +138,29 @@ public final class AMQShortString implements CharSequence }
}
+
+ public byte[] getBytes()
+ {
+
+ if(_data.buf().hasArray() && _data.arrayOffset() == 0)
+ {
+ return _data.array();
+ }
+ else
+ {
+ final int size = length();
+ byte[] b = new byte[size];
+ ByteBuffer buf = _data.duplicate();
+ buf.rewind();
+ buf.get(b);
+
+
+ return b;
+ }
+
+
+ }
+
public void writeToBuffer(ByteBuffer buffer)
{
|