KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > wsif > providers > jca > toolplugin > FormatHandlerGenerator


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  *
5  * Copyright (c) 2002 The Apache Software Foundation. All rights
6  * reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "WSIF" and "Apache Software Foundation" must
28  * not be used to endorse or promote products derived from this
29  * software without prior written permission. For written
30  * permission, please contact apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache",
33  * nor may "Apache" appear in their name, without prior written
34  * permission of the Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals on behalf of the Apache Software Foundation and was
52  * originally based on software copyright (c) 2001, 2002, International
53  * Business Machines, Inc., http://www.apache.org. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  */

57
58 package org.apache.wsif.providers.jca.toolplugin;
59
60 /**
61  * This interface allows Resource Adapter to provide a code generation contribution to the tool
62  * environment. The tooling delegates to the implementation of this interface the generation
63  * of all format handlers for the particular encoding and style.
64  *
65  * @author Hesham Fahmy <hfahmy@ca.ibm.com>
66  * @author Piotr Przybylski <piotrp@ca.ibm.com>
67  * @author Harlod Gartner
68  */

69
70 public interface FormatHandlerGenerator
71 {
72     public final static int XSD_TYPE =0;
73     public final static int XSD_ELEMENT =1;
74
75   /**
76     * Generates a Custom Format Handler for a particular XSD Type or Element.
77     * @param <code>generationPackage</code> The fully qualified package that the generator should use to generate its classes in.
78     * @param <code>beanClass</code> The fully qualified name of the Java bean class that represents the XSD type (or element) for which a format handler is being generated.
79     * @param <code>aDefinition</code> The WSDL definition from which the XSD type is derived.
80     * @param <code>aBinding</code> The WSDL binding element that contains the type mapping for the XSD type that is being used.
81     * @param <code>anEncoding</code> The <i>encoding</i> attribute off the TypeMapping element associated with the format handler to be generated.
82     * @param <code>aStyle</code> The <i>style</i> attribute off the TypeMapping element associated with the format handler to be generated.
83     * @param <code>xsdQname</code> The QName of the XSD element(or type) for which the format handler is being generated.
84     * @param <code>elementType</code> The type of element represented by the <code>xsdQname</code> parameter. This is either <code>CustomFormatHandlerGenerator.XSD_TYPE</code>
85     * or <code>CustomFormatHandlerGenerator.XSD_ELEMENT</code>.
86     * @param <code>generationContext</code> The generation context or <code>null</code> is no context is required.
87     * @return a <code>HashTable</code> that contains a set of <code>java.io.InputStream</code> s. Each input stream contains the generated code for a particular
88     * class generated by the format handler generator. The number of input streams returned depends on the number of classes that are generated by the format handler
89     * generator. The keys of the HashTable must be the name of each class (unqualified) that is represented by its corresponding InputStream value. The class name keys
90     * are unqualified because they must all be in the <code>generationPackage</code> that is passed in as an input parameter.
91     * @throws <code>org.apache.wsif.WSIFException</code> thrown if an error occurs during format handler generation.
92     */

93
94     public java.util.Hashtable JavaDoc generate (String JavaDoc generationPackage, String JavaDoc beanClass, javax.wsdl.Definition aDefinition,javax.wsdl.Binding aBinding, String JavaDoc anEncoding,
95                                                         String JavaDoc aStyle, javax.xml.namespace.QName JavaDoc xsdQname, int elementType, Object JavaDoc generationContext) throws org.apache.wsif.WSIFException;
96
97     /**
98      * Creates a new context for format handler generation.
99      * The context is an optional object that can be used by a FormatHandlerGenerator to assist in code generation, or in keeping track of
100      * artifacts generated. The details, and implementation, of the object are specific to each FormatHandlerGenerator.
101      * Tooling environments must call this method first, before invoking the FormatHandlerGenerator to generate code. The context that is returned must be used
102      * by the tooling environment for all subsequent calls to the FormatHandlerGenerator.
103      * @return A new generation context.
104      */

105
106     public Object JavaDoc createGenerationContext();
107 }
108
109
Popular Tags