001    /*
002     * 
003     * Copyright 2004 Hiram Chirino
004     * 
005     * Licensed under the Apache License, Version 2.0 (the "License"); 
006     * you may not use this file except in compliance with the License. 
007     * You may obtain a copy of the License at 
008     * 
009     * http://www.apache.org/licenses/LICENSE-2.0
010     * 
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS, 
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
014     * See the License for the specific language governing permissions and 
015     * limitations under the License. 
016     * 
017     */
018    package org.activemq.store;
019    
020    import javax.jms.JMSException;
021    
022    import org.activemq.message.ActiveMQMessage;
023    import org.activemq.message.ConsumerInfo;
024    import org.activemq.message.MessageAck;
025    import org.activemq.service.MessageIdentity;
026    import org.activemq.service.SubscriberEntry;
027    
028    /**
029     * A simple proxy that delegates to another MessageStore.
030     */
031    public class ProxyTopicMessageStore implements TopicMessageStore {
032    
033        final TopicMessageStore delegate;
034        
035        public ProxyTopicMessageStore(TopicMessageStore delegate) {
036            this.delegate = delegate;
037        }
038        
039        public MessageStore getDelegate() {
040            return delegate;
041        }
042        
043        public void addMessage(ActiveMQMessage message) throws JMSException {
044            delegate.addMessage(message);
045        }
046        public ActiveMQMessage getMessage(MessageIdentity identity) throws JMSException {
047            return delegate.getMessage(identity);
048        }
049        public void recover(RecoveryListener listener) throws JMSException {
050            delegate.recover(listener);
051        }
052        public void removeAllMessages() throws JMSException {
053            delegate.removeAllMessages();
054        }
055        public void removeMessage(MessageAck ack) throws JMSException {
056            delegate.removeMessage(ack);
057        }
058        public void start() throws JMSException {
059            delegate.start();
060        }
061        public void stop() throws JMSException {
062            delegate.stop();
063        }
064        
065        public void decrementMessageCountAndMaybeDelete(MessageIdentity msgId)
066                throws JMSException {
067            delegate.decrementMessageCountAndMaybeDelete(msgId);
068        }
069        public MessageIdentity getLastestMessageIdentity() throws JMSException {
070            return delegate.getLastestMessageIdentity();
071        }
072        public SubscriberEntry getSubscriberEntry(ConsumerInfo info) throws JMSException {
073            return delegate.getSubscriberEntry(info);
074        }
075        public void incrementMessageCount(MessageIdentity messageId) throws JMSException {
076            delegate.incrementMessageCount(messageId);
077        }
078        public void setLastAcknowledgedMessageIdentity(String subscription, MessageIdentity messageIdentity)
079                throws JMSException {
080            delegate.setLastAcknowledgedMessageIdentity(subscription, messageIdentity);
081        }
082        public void setSubscriberEntry(ConsumerInfo info, SubscriberEntry subscriberEntry) throws JMSException {
083            delegate.setSubscriberEntry(info, subscriberEntry);
084        }
085        public void deleteSubscription(String subscription) throws JMSException {
086            delegate.deleteSubscription(subscription);
087        }
088    
089        public void recoverSubscription(String subscriptionId, MessageIdentity lastDispatchedMessage, RecoveryListener listener) throws JMSException {
090            delegate.recoverSubscription(subscriptionId, lastDispatchedMessage, listener);
091        }
092    }