1 /* 2 * The contents of this file are subject to the terms 3 * of the Common Development and Distribution License 4 * (the License). You may not use this file except in 5 * compliance with the License. 6 * 7 * You can obtain a copy of the license at 8 * https://glassfish.dev.java.net/public/CDDLv1.0.html or 9 * glassfish/bootstrap/legal/CDDLv1.0.txt. 10 * See the License for the specific language governing 11 * permissions and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL 14 * Header Notice in each file and include the License file 15 * at glassfish/bootstrap/legal/CDDLv1.0.txt. 16 * If applicable, add the following below the CDDL Header, 17 * with the fields enclosed by brackets [] replaced by 18 * you own identifying information: 19 * "Portions Copyrighted [year] [name of copyright owner]" 20 * 21 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 22 */ 23 24 package com.sun.enterprise.deployment.deploy.shared; 25 26 import java.io.IOException; 27 28 /** 29 * This interface defines the behaviour for obtaining an abstraction 30 * of the Jar file protocol. The interface implementation returned 31 * by the methods of this interface will abstract the necessary 32 * protocol used by the archivists to open/store J2EE Bundles. 33 * 34 * @author Jerome ochez 35 */ 36 public interface AbstractArchiveFactory { 37 38 /** 39 * create a new archive abstraction with the given path and 40 * return an implementation responsible for storing elements 41 * to this archive abstraction 42 * 43 * @param path for the new archive 44 * @return the abstraction to manipulate the archive 45 */ 46 AbstractArchive createArchive(String path) throws IOException; 47 48 /** 49 * open an existing archive described by the path and return 50 * an implementation responsible for retrieving eleemnts from 51 * this archive abstraction 52 * 53 * @param path for the existing archive 54 * @return the abstraction to get entries from 55 */ 56 AbstractArchive openArchive(String path) throws IOException; 57 58 59 } 60