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.MessageAck;
024    import org.activemq.service.MessageIdentity;
025    
026    /**
027     * A simple proxy that delegates to another MessageStore.
028     */
029    public class ProxyMessageStore implements MessageStore {
030    
031        final MessageStore delegate;
032        
033        public ProxyMessageStore(MessageStore delegate) {
034            this.delegate = delegate;
035        }
036        
037        public MessageStore getDelegate() {
038            return delegate;
039        }
040    
041        public void addMessage(ActiveMQMessage message) throws JMSException {
042            delegate.addMessage(message);
043        }
044        public ActiveMQMessage getMessage(MessageIdentity identity) throws JMSException {
045            return delegate.getMessage(identity);
046        }
047        public void recover(RecoveryListener listener) throws JMSException {
048            delegate.recover(listener);
049        }
050        public void removeAllMessages() throws JMSException {
051            delegate.removeAllMessages();
052        }
053        public void removeMessage(MessageAck ack) throws JMSException {
054            delegate.removeMessage(ack);
055        }
056        public void start() throws JMSException {
057            delegate.start();
058        }
059        public void stop() throws JMSException {
060            delegate.stop();
061        }
062    }