1 /** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one or more 4 * contributor license agreements. See the NOTICE file distributed with 5 * this work for additional information regarding copyright ownership. 6 * The ASF licenses this file to You under the Apache License, Version 2.0 7 * (the "License"); you may not use this file except in compliance with 8 * the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 package org.apache.activemq.store; 19 20 import java.io.IOException; 21 import java.util.Set; 22 23 import org.apache.activemq.command.ActiveMQQueue; 24 import org.apache.activemq.command.ActiveMQTopic; 25 26 /** 27 * Adapter to the actual persistence mechanism used with ActiveMQ 28 * 29 * @version $Revision: 1.3 $ 30 */ 31 public interface ReferenceStoreAdapter extends PersistenceAdapter { 32 33 /** 34 * Factory method to create a new queue message store with the given destination name 35 */ 36 public ReferenceStore createQueueReferenceStore(ActiveMQQueue destination) throws IOException; 37 38 /** 39 * Factory method to create a new topic message store with the given destination name 40 */ 41 public TopicReferenceStore createTopicReferenceStore(ActiveMQTopic destination) throws IOException; 42 43 public Set<Integer> getReferenceFileIdsInUse() throws IOException; 44 45 /** 46 * If the store isn't valid, it can be recoverd at start-up 47 * @return true if the reference store is in a consistent state 48 */ 49 public boolean isStoreValid(); 50 51 } 52