package hermes.browser.dialog.message; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.ObjectMessage; import javax.swing.JLabel; public class CannotEditMessageWriter extends MessageWriter { private Message message; public CannotEditMessageWriter() { this(null) ; } public CannotEditMessageWriter(Message message) { this.message = message ; add(new JLabel("Payload not editable")) ; } @Override void onMessage(Message newMessage) throws JMSException { if (message != null && message instanceof ObjectMessage && newMessage instanceof ObjectMessage) { ((ObjectMessage) newMessage).setObject(((ObjectMessage) message).getObject()) ; } } @Override boolean supports(MessageType type) { return type == MessageType.ObjectMessage || type == MessageType.StreamMessage || type == MessageType.Message ; } }