1 package org.exolab.jms.tools.migration; 2 3 import javax.jms.JMSException; 4 5 import org.exolab.jms.persistence.PersistenceException; 6 7 8 /*** 9 * <code>Store</code> represents a persistent collection. 10 * It provides an API for importing and exporting the collection. 11 * 12 * @author <a href="mailto:tma@netspace.net.au">Tim Anderson</a> 13 * @version $Revision: 1.1 $ $Date: 2005/09/04 07:07:12 $ 14 */ 15 public interface Store { 16 17 /*** 18 * Export the collection. 19 * 20 * @return an iterator over the collection 21 * @throws JMSException for any JMS error 22 * @throws PersistenceException for any persistence error 23 */ 24 StoreIterator exportCollection() throws JMSException, PersistenceException; 25 26 /*** 27 * Import a collection. 28 * 29 * @param iterator an iterator over the collection 30 * @throws JMSException for any JMS error 31 * @throws PersistenceException for any persistence error 32 */ 33 void importCollection(StoreIterator iterator) 34 throws JMSException, PersistenceException; 35 36 /*** 37 * Returns the number of elements in the collection. 38 * 39 * @return the number of elements in the collection 40 * @throws PersistenceException for any persistence error 41 */ 42 int size() throws PersistenceException; 43 44 }