1 /*************************************** 2 * * 3 * JBoss: The OpenSource J2EE WebOS * 4 * * 5 * Distributable under LGPL license. * 6 * See terms of license at gnu.org. * 7 * * 8 ***************************************/ 9 10 package org.jboss.deployment.cache; 11 12 import java.net.URL; 13 14 import java.io.IOException; 15 16 import java.util.Collection; 17 18 /** 19 * Provides the interface for abstracting the actual storage 20 * of cached deployments. 21 * 22 * @jmx:mbean extends="org.jboss.system.ServiceMBean" 23 * 24 * @todo Expose urls for cleaning 25 * 26 * @version <tt>$Revision: 1.3 $</tt> 27 * @author <a HREF="mailto:jason@planet57.com">Jason Dillon</a> 28 */ 29 public interface DeploymentStore 30 { 31 /** 32 * Get the stored URL for the given deployment URL. 33 * 34 * @param url The original deployment URL. 35 * @return The stored URL or null if not stored. 36 * 37 * @throws Exception Failed to get deployment URL from the store. 38 * 39 * @jmx:managed-operation 40 */ 41 URL get(URL url) throws Exception; 42 43 /** 44 * Put a deployment URL into storage. This will cause 45 * the data associated with the given URL to be downloaded. 46 * 47 * <p>If there is already a stored URL it will be overwritten. 48 * 49 * @param url The original deployment URL. 50 * @return The stored URL. 51 * 52 * @throws Exception Failed to put deployment URL into the store. 53 * 54 * @jmx:managed-operation 55 */ 56 URL put(URL url) throws Exception; 57 } 58