package org.openamq.client; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.Topic; import javax.jms.TopicSubscriber; /** * Wraps a MessageConsumer to fulfill the extended TopicSubscriber contract * */ class TopicSubscriberAdaptor implements TopicSubscriber { private final Topic _topic; private final MessageConsumer _consumer; private final boolean _noLocal; TopicSubscriberAdaptor(Topic topic, MessageConsumer consumer, boolean noLocal) { _topic = topic; _consumer = consumer; _noLocal = noLocal; } TopicSubscriberAdaptor(Topic topic, BasicMessageConsumer consumer) { this(topic, consumer, consumer.isNoLocal()); } public Topic getTopic() throws JMSException { return _topic; } public boolean getNoLocal() throws JMSException { return _noLocal; } public String getMessageSelector() throws JMSException { return _consumer.getMessageSelector(); } public MessageListener getMessageListener() throws JMSException { return _consumer.getMessageListener(); } public void setMessageListener(MessageListener messageListener) throws JMSException { _consumer.setMessageListener(messageListener); } public Message receive() throws JMSException { return _consumer.receive(); } public Message receive(long l) throws JMSException { return _consumer.receive(l); } public Message receiveNoWait() throws JMSException { return _consumer.receiveNoWait(); } public void close() throws JMSException { _consumer.close(); } }