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 }