summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2007-01-11 09:40:44 +0000
committerRobert Greig <rgreig@apache.org>2007-01-11 09:40:44 +0000
commit733d6182773c5bc53d1146e3f7d157ebcf2d5a6c (patch)
tree9fa2b153f51c858b20ada820f847ea6ad6ea6c72
parentfd01d58b3ce25c8c451fa202c238b657c05bfca4 (diff)
downloadqpid-python-733d6182773c5bc53d1146e3f7d157ebcf2d5a6c.tar.gz
QPID-32 : Add persistence to work with ShortStrings
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495170 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java30
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)
{