jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/Databinding.java
changeset 12009 4abb694f273a
child 16791 fe5141eabb0e
equal deleted inserted replaced
11943:16ba58282d11 12009:4abb694f273a
       
     1 /*
       
     2  * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.  Oracle designates this
       
     8  * particular file as subject to the "Classpath" exception as provided
       
     9  * by Oracle in the LICENSE file that accompanied this code.
       
    10  *
       
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14  * version 2 for more details (a copy is included in the LICENSE file that
       
    15  * accompanied this code).
       
    16  *
       
    17  * You should have received a copy of the GNU General Public License version
       
    18  * 2 along with this work; if not, write to the Free Software Foundation,
       
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20  *
       
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22  * or visit www.oracle.com if you need additional information or have any
       
    23  * questions.
       
    24  */
       
    25 
       
    26 package com.sun.xml.internal.ws.api.databinding;
       
    27 
       
    28 import java.io.IOException;
       
    29 import java.io.InputStream;
       
    30 import java.io.OutputStream;
       
    31 import java.lang.reflect.Method;
       
    32 
       
    33 import javax.xml.ws.WebServiceFeature;
       
    34 import com.sun.xml.internal.ws.api.message.Packet;
       
    35 import com.sun.xml.internal.ws.api.pipe.ContentType;
       
    36 import com.sun.xml.internal.ws.wsdl.DispatchException;
       
    37 
       
    38 /**
       
    39  * {@code Databinding} is the entry point for all the WebService databinding
       
    40  * runtime functionality. Primarily, a Databinding is to serialize/deserialize an
       
    41  * XML(SOAP) message to/from a JAVA method invocation and return value which
       
    42  * are represented as <code>JavaCallInfo</code> instances.
       
    43  * <p>
       
    44  * </p>
       
    45  * Each Databinding is associated with a <code>MessageFactory</code> instance
       
    46  * which can be used to create <code>Message</code> instances that can be
       
    47  * deserialized by the Databinding. The <code>MessageFactory</code> also supports
       
    48  * the conversion of Oracle Fabric Normalized messages.
       
    49  * <p>
       
    50  * </p>
       
    51  * <blockquote> Following is an example that creates a {@code Databinding} which
       
    52  * provides the operations to serialize/deserialize a JavaCallInfo to/from a
       
    53  * SOAP message:<br />
       
    54  *
       
    55  * <pre>
       
    56  * DatabindingFactory wsfac = DatabindingFactory();
       
    57  * Databinding rt = wsfac.createDatabinding(DatabindingConfig);
       
    58  * </pre>
       
    59  *
       
    60  * </blockquote>
       
    61  *
       
    62  * @author shih-chang.chen@oracle.com
       
    63  */
       
    64 public interface Databinding extends com.sun.xml.internal.org.jvnet.ws.databinding.Databinding {
       
    65 
       
    66         /**
       
    67          * Gets the MessageFactory instance associated with this WsRuntime
       
    68          *
       
    69          * @return the MessageFactory instance associated with this WsRuntime
       
    70          */
       
    71 //      MessageFactory getMessageFactory();
       
    72 
       
    73         /**
       
    74          * Deserializes a request XML(SOAP) message to a JavaCallInfo instance
       
    75          * representing a JAVA method call.
       
    76          *
       
    77          * @param soap
       
    78          *            the request message
       
    79          *
       
    80          * @return the JavaCallInfo representing a method call
       
    81          */
       
    82 //      JavaCallInfo deserializeRequest(Packet req);
       
    83 
       
    84         EndpointCallBridge getEndpointBridge(Packet soap) throws DispatchException;
       
    85 
       
    86         ClientCallBridge getClientBridge(Method method);
       
    87 
       
    88         /**
       
    89          * Serializes a JavaCallInfo instance representing a JAVA method call to a
       
    90          * request XML(SOAP) message.
       
    91          *
       
    92          * @param call
       
    93          *            the JavaCallInfo representing a method call
       
    94          *
       
    95          * @return the request XML(SOAP) message
       
    96          */
       
    97 //      Packet serializeRequest(JavaCallInfo call);
       
    98 
       
    99         /**
       
   100          * Serializes a JavaCallInfo instance representing the return value or
       
   101          * exception of a JAVA method call to a response XML(SOAP) message.
       
   102          *
       
   103          * @param call
       
   104          *            the JavaCallInfo representing the return value or exception of
       
   105          *            a JAVA method call
       
   106          *
       
   107          * @return the response XML(SOAP) message
       
   108          */
       
   109 //      Packet serializeResponse(JavaCallInfo call);
       
   110 
       
   111         /**
       
   112          * Deserializes a response XML(SOAP) message to a JavaCallInfo instance
       
   113          * representing the return value or exception of a JAVA method call.
       
   114          *
       
   115          * @param soap
       
   116          *            the response message
       
   117          *
       
   118          * @param call
       
   119          *            the JavaCallInfo instance to be updated
       
   120          *
       
   121          * @return the JavaCallInfo updated with the return value or exception of a
       
   122          *         JAVA method call
       
   123          */
       
   124 //      JavaCallInfo deserializeResponse(Packet res, JavaCallInfo call);
       
   125 
       
   126         /**
       
   127          * Gets the WSDL operation metadata of the specified JAVA method.
       
   128          *
       
   129          * @param method
       
   130          *            the JAVA method
       
   131          * @return the operationMetadata
       
   132          */
       
   133 //      OperationMetadata getOperationMetadata(java.lang.reflect.Method method);
       
   134 
       
   135         /**
       
   136          * Gets the WebServiceFeatures of this webservice endpoint.
       
   137          *
       
   138          * @return the features
       
   139          */
       
   140 //      WebServiceFeature[] getFeatures();
       
   141 
       
   142         void generateWSDL(WSDLGenInfo info);
       
   143 
       
   144         public ContentType encode( Packet packet, OutputStream out ) throws IOException ;
       
   145 
       
   146         public void decode( InputStream in, String ct, Packet packet ) throws IOException;
       
   147 }