Assure intercept methods to not change the message

This was done by cloning.
This commit is contained in:
Wagner Macedo
2015-08-02 09:34:12 -03:00
parent 66ce5b6e0e
commit 58f6191a8e
4 changed files with 31 additions and 4 deletions
@@ -164,4 +164,12 @@ public class ConnectMessage extends AbstractMessage {
}
return base;
}
public ConnectMessage readOnlyClone() {
try {
return (ConnectMessage) super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
@@ -54,4 +54,14 @@ public class PublishMessage extends MessageIDMessage {
public void setPayload(ByteBuffer payload) {
this.m_payload = payload;
}
public PublishMessage readOnlyClone() {
try {
final PublishMessage clone = (PublishMessage) super.clone();
clone.m_payload = this.m_payload.asReadOnlyBuffer();
return clone;
} catch (CloneNotSupportedException e) {
return null;
}
}
}