package hermes.browser.actions;
import hermes.Domain;
import hermes.Hermes;
import hermes.browser.components.EditedMessageHandler;
import java.io.Serializable;
import javax.jms.BytesMessage;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.StreamMessage;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.naming.NamingException;
import org.apache.log4j.Logger;
public abstract class AbstractEditedMessageHandler implements EditedMessageHandler {
private static final Logger log = Logger.getLogger(AbstractEditedMessageHandler.class) ;
private Hermes hermes;
public AbstractEditedMessageHandler(Hermes hermes) {
this.hermes = hermes;
}
public void close() {
try {
hermes.close();
} catch (JMSException e) {
log.error("closing JMS session: " + e.getMessage(), e) ;
}
}
public Hermes getHermes() {
return hermes;
}
@Override
public abstract void onMessage(Message message);
@Override
public BytesMessage createBytesMessage() throws JMSException {
return getHermes().createBytesMessage();
}
@Override
public MapMessage createMapMessage() throws JMSException {
return getHermes().createMapMessage();
}
@Override
public ObjectMessage createObjectMessage() throws JMSException {
return getHermes().createObjectMessage();
}
@Override
public ObjectMessage createObjectMessage(Serializable object) throws JMSException {
return getHermes().createObjectMessage(object);
}
@Override
public StreamMessage createStreamMessage() throws JMSException {
return getHermes().createStreamMessage();
}
@Override
public TextMessage createTextMessage() throws JMSException {
return getHermes().createTextMessage();
}
@Override
public TextMessage createTextMessage(String text) throws JMSException {
return getHermes().createTextMessage(text);
}
@Override
public Message createMessage() throws JMSException {
return getHermes().createMessage();
}
@Override
public Destination getDestination(String name, Domain domain) throws JMSException, NamingException {
return getHermes().getDestination(name, domain);
}
@Override
public String getDestinationName(Destination to) throws JMSException {
return getHermes().getDestinationName(to);
}
@Override
public Queue createQueue(String named) throws JMSException, NamingException {
return getHermes().createQueue(named);
}
@Override
public Topic createTopic(String named) throws JMSException, NamingException {
return getHermes().createTopic(named);
}
}