01: /*
02: * ========================================================================
03: *
04: * Copyright 2003 The Apache Software Foundation.
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License");
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
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 239003 2004-05-31 20:05:27Z vmassol $
35: */
36: public interface EarArchive extends JarArchive {
37: /**
38: * Returns the deployment descriptor of the web application.
39: *
40: * @return The parsed deployment descriptor
41: * @throws IOException If there was a problem reading the deployment
42: * descriptor in the EAR
43: * @throws SAXException If the deployment descriptor of the EAR could not
44: * be parsed
45: * @throws ParserConfigurationException If there is an XML parser
46: * configration problem
47: */
48: ApplicationXml getApplicationXml() throws IOException,
49: SAXException, ParserConfigurationException;
50:
51: /**
52: * Returns the web-app archive stored in the EAR with the specified URI.
53: *
54: * @param theUri The URI of the web module
55: * @return The web-app archive, or <code>null</code> if no WAR was found at
56: * the specified URI
57: * @throws IOException If there was an errors reading from the EAR or WAR
58: */
59: WarArchive getWebModule(String theUri) throws IOException;
60: }
|