src/share/jaxws_classes/com/sun/xml/internal/ws/api/model/wsdl/WSDLBoundOperation.java

Tue, 06 Mar 2012 16:09:35 -0800

author
ohair
date
Tue, 06 Mar 2012 16:09:35 -0800
changeset 286
f50545b5e2f1
child 368
0989ad8c0860
permissions
-rw-r--r--

7150322: Stop using drop source bundles in jaxws
Reviewed-by: darcy, ohrstrom

     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  */
    26 package com.sun.xml.internal.ws.api.model.wsdl;
    28 import com.sun.istack.internal.NotNull;
    29 import com.sun.istack.internal.Nullable;
    31 import javax.jws.WebParam.Mode;
    32 import javax.xml.namespace.QName;
    33 import java.util.Map;
    35 /**
    36  * Abstracts wsdl:binding/wsdl:operation. It can be used to determine the parts and their binding.
    37  *
    38  * @author Vivek Pandey
    39  */
    40 public interface WSDLBoundOperation extends WSDLObject, WSDLExtensible {
    41     /**
    42      * Short-cut for {@code getOperation().getName()}
    43      */
    44     @NotNull QName getName();
    46     /**
    47      * Gives soapbinding:operation@soapAction value. soapbinding:operation@soapAction is optional attribute.
    48      * If not present an empty String is returned as per BP 1.1 R2745.
    49      */
    50     @NotNull String getSOAPAction();
    52     /**
    53      * Gets the wsdl:portType/wsdl:operation model - {@link WSDLOperation},
    54      * associated with this binding operation.
    55      *
    56      * @return always same {@link WSDLOperation}
    57      */
    58     @NotNull WSDLOperation getOperation();
    60     /**
    61      * Gives the owner {@link WSDLBoundPortType}
    62      */
    63     @NotNull WSDLBoundPortType getBoundPortType();
    65     /**
    66      * Gets the soapbinding:binding/operation/wsaw:Anonymous. A default value of OPTIONAL is returned.
    67      *
    68      * @return Anonymous value of the operation
    69      */
    70     ANONYMOUS getAnonymous();
    72     enum ANONYMOUS { optional, required, prohibited }
    74     /**
    75      * Gets {@link WSDLPart} for the given wsdl:input or wsdl:output part
    76      *
    77      * @return null if no part is found
    78      */
    79     @Nullable WSDLPart getPart(@NotNull String partName, @NotNull Mode mode);
    81     /**
    82      * Gets all inbound {@link WSDLPart} by its {@link WSDLPart#getName() name}.
    83      */
    84     @NotNull Map<String,WSDLPart> getInParts();
    86     /**
    87      * Gets all outbound {@link WSDLPart} by its {@link WSDLPart#getName() name}.
    88      */
    89     @NotNull Map<String,WSDLPart> getOutParts();
    91     /**
    92      * Gets all the {@link WSDLFault} bound to this operation.
    93      */
    94     @NotNull Iterable<? extends WSDLBoundFault> getFaults();
    96     /**
    97      * Gets the payload QName of the request message.
    98      *
    99      * <p>
   100      * It's possible for an operation to define no body part, in which case
   101      * this method returns null.
   102      */
   103     @Nullable QName getReqPayloadName();
   105     /**
   106      * Gets the payload QName of the response message.
   107      *
   108      * <p>
   109      * It's possible for an operation to define no body part, in which case
   110      * this method returns null.
   111      */
   112     @Nullable QName getResPayloadName();
   114     /**
   115      * Gets the namespace of request payload.
   116      */
   117     String getRequestNamespace();
   119     /**
   120      * Gets the namespace of response payload.
   121      */
   122     String getResponseNamespace();
   124 }

mercurial