KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > j2ee > deployment > WebServiceBuilder


1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17 package org.apache.geronimo.j2ee.deployment;
18
19 import java.util.Map JavaDoc;
20 import java.util.jar.JarFile JavaDoc;
21
22 import org.apache.geronimo.common.DeploymentException;
23 import org.apache.geronimo.deployment.DeploymentContext;
24 import org.apache.geronimo.gbean.GBeanData;
25 import org.apache.geronimo.kernel.repository.Environment;
26
27 /**
28  * @version $Rev: 479496 $ $Date: 2006-11-26 20:57:00 -0500 (Sun, 26 Nov 2006) $
29  */

30 public interface WebServiceBuilder {
31
32    /**
33     * Introspects on the module file to locate web service for deployment.
34     *
35     * @param moduleFile J2EE module
36     * @param isEJB is this an EJB archive?
37     * @param correctedPortLocations mapping between port locations and paths.
38     * @param environment
39     * @param sharedContext map of builder-specific key to map of servlet names to port information, or an
40     * empty map if no web services found. Port information is opaque
41     * to all except the WebServiceBuilder itself.
42     * @throws DeploymentException if error encountered while introspecting the module.
43     */

44    void findWebServices(JarFile JavaDoc moduleFile, boolean isEJB, Map JavaDoc correctedPortLocations, Environment environment, Map JavaDoc sharedContext) throws DeploymentException;
45
46     //obviously these need the deployment descriptors, but I'm not sure in what form yet.
47
/**
48      * configure the supplied GBeanData to implement the POJO web service described in the deployment descriptor.
49      * The GBeanData will be for a ServletHolder like gbean that is adapted to holding a ws stack that talks to a
50      * POJO web service. The web deployer is responsible for filling in the standard servlet info such as init params.
51      * @param targetGBean
52      * @param servletName
53      * @param module
54      * @param seiClassName
55      * @param context
56      * @return true if this builder configured this pojo
57      * @throws DeploymentException
58      */

59     boolean configurePOJO(GBeanData targetGBean, String JavaDoc servletName, Module module, String JavaDoc seiClassName, DeploymentContext context) throws DeploymentException;
60
61     /**
62      * configure the supplied EJBContainer gbeandata to implement the ejb web service described in the deployment descriptor
63      * N.B. this method is a complete guess and should be replaced by something useable right away!
64      * @param targetGBean
65      * @param ejbName
66      * @param moduleFile
67      * @param sharedContext
68      * @param classLoader
69      * @throws DeploymentException
70      */

71     boolean configureEJB(GBeanData targetGBean, String JavaDoc ejbName, JarFile JavaDoc moduleFile, Map JavaDoc sharedContext, ClassLoader JavaDoc classLoader) throws DeploymentException;
72
73 }
74
Popular Tags