summaryrefslogtreecommitdiff
path: root/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java')
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java91
1 files changed, 11 insertions, 80 deletions
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
index d0c359a592..1c93680a7f 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
@@ -17,6 +17,7 @@
*/
package org.apache.qpid.messaging.util;
+import java.nio.ByteBuffer;
import java.util.Collections;
import java.util.Map;
@@ -25,28 +26,13 @@ import org.apache.qpid.messaging.MessageNotWritableException;
import org.apache.qpid.messaging.MessagingException;
/**
- * Ensures the message is read only by blocking the delegates
- * setter methods.
+ * Ensures the message properties and content are read only.
*/
-public class ReadOnlyMessageAdapter implements Message
+public class ReadOnlyMessageAdapter extends GenericMessageAdapter
{
- private Message _delegate;
-
ReadOnlyMessageAdapter(Message delegate)
{
- _delegate = delegate;
- }
-
- @Override
- public Object getContent() throws MessagingException
- {
- return _delegate.getContent();
- }
-
- @Override
- public String getMessageId() throws MessagingException
- {
- return _delegate.getMessageId();
+ super(delegate);
}
@Override
@@ -56,120 +42,60 @@ public class ReadOnlyMessageAdapter implements Message
}
@Override
- public String getSubject() throws MessagingException
- {
- return _delegate.getSubject();
- }
-
- @Override
public void setSubject(String subject) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public String getContentType() throws MessagingException
- {
- return _delegate.getContentType();
- }
-
- @Override
public void setContentType(String contentType) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public String getCorrelationId() throws MessagingException
- {
- return _delegate.getCorrelationId();
- }
-
- @Override
public void setCorrelationId(String correlationId) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public String getReplyTo() throws MessagingException
- {
- return _delegate.getReplyTo();
- }
-
- @Override
public void setReplyTo(String replyTo) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public String getUserId() throws MessagingException
- {
- return _delegate.getUserId();
- }
-
- @Override
public void setUserId(String userId) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public boolean isDurable() throws MessagingException
- {
- return _delegate.isDurable();
- }
-
- @Override
public void setDurable(boolean durable) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public boolean isRedelivered() throws MessagingException
- {
- return _delegate.isRedelivered();
- }
-
- @Override
public void setRedelivered(boolean redelivered) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public int getPriority() throws MessagingException
- {
- return _delegate.getPriority();
- }
-
- @Override
public void setPriority(int priority) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public long getTtl() throws MessagingException
- {
- return _delegate.getTtl();
- }
-
- @Override
public void setTtl(long ttl) throws MessagingException
{
throwMessageNotWritableException();
}
@Override
- public long getTimestamp() throws MessagingException
- {
- return _delegate.getTimestamp();
- }
-
- @Override
public void setTimestamp(long timestamp) throws MessagingException
{
throwMessageNotWritableException();
@@ -178,7 +104,7 @@ public class ReadOnlyMessageAdapter implements Message
@Override
public Map<String, Object> getProperties() throws MessagingException
{
- return Collections.unmodifiableMap(_delegate.getProperties());
+ return Collections.unmodifiableMap(super.getProperties());
}
@Override
@@ -187,9 +113,14 @@ public class ReadOnlyMessageAdapter implements Message
throwMessageNotWritableException();
}
+ @Override
+ public ByteBuffer getContent()
+ {
+ return super.getContent().asReadOnlyBuffer();
+ }
+
private void throwMessageNotWritableException() throws MessageNotWritableException
{
throw new MessageNotWritableException("Message is read-only");
}
-
}