1 /* 2 * ======================================================================== 3 * 4 * Copyright 2003 The Apache Software Foundation. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * 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 * ======================================================================== 19 */ 20 package org.apache.cactus.integration.ant.deployment.application; 21 22 import java.io.IOException; 23 24 import javax.xml.parsers.ParserConfigurationException; 25 26 import org.apache.cactus.integration.ant.deployment.JarArchive; 27 import org.apache.cactus.integration.ant.deployment.webapp.WarArchive; 28 import org.xml.sax.SAXException; 29 30 /** 31 * Class that encapsulates access to an EAR. 32 * 33 * @since Cactus 1.5 34 * @version $Id: EarArchive.java,v 1.1 2004/05/31 20:05:24 vmassol Exp $ 35 */ 36 public interface EarArchive extends JarArchive 37 { 38 /** 39 * Returns the deployment descriptor of the web application. 40 * 41 * @return The parsed deployment descriptor 42 * @throws IOException If there was a problem reading the deployment 43 * descriptor in the EAR 44 * @throws SAXException If the deployment descriptor of the EAR could not 45 * be parsed 46 * @throws ParserConfigurationException If there is an XML parser 47 * configration problem 48 */ 49 ApplicationXml getApplicationXml() 50 throws IOException, SAXException, ParserConfigurationException; 51 52 /** 53 * Returns the web-app archive stored in the EAR with the specified URI. 54 * 55 * @param theUri The URI of the web module 56 * @return The web-app archive, or <code>null</code> if no WAR was found at 57 * the specified URI 58 * @throws IOException If there was an errors reading from the EAR or WAR 59 */ 60 WarArchive getWebModule(String theUri) throws IOException; 61 } 62