Tue, 09 Apr 2013 14:51:13 +0100
8010393: Update JAX-WS RI to 2.2.9-b12941
Reviewed-by: alanb, erikj
Contributed-by: miroslav.kos@oracle.com, martin.grebac@oracle.com
1 /*
2 * Copyright (c) 1997, 2012, 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;
28 import com.sun.istack.internal.NotNull;
29 import com.sun.istack.internal.Nullable;
30 import com.sun.xml.internal.ws.api.model.soap.SOAPBinding;
32 import javax.xml.namespace.QName;
33 import java.lang.reflect.Method;
34 import javax.jws.WebService;
36 /**
37 * Abstracts the annotated {@link Method} of a SEI.
38 *
39 * @author Vivek Pandey
40 */
41 public interface JavaMethod {
43 /**
44 * Gets the root {@link SEIModel} that owns this model.
45 */
46 SEIModel getOwner();
48 /**
49 * On the server side, it uses this for invocation of the web service
50 *
51 * <p>
52 * {@literal @}{@link WebService}(endpointInterface="I")
53 * class A { }
54 *
55 * In this case, it retuns A's method
56 *
57 * <p>
58 * {@literal @}{@link WebService}(endpointInterface="I")
59 * class A implements I { }
60 * In this case, it returns A's method
61 *
62 * <p>
63 * {@literal @}{@link WebService}
64 * class A { }
65 * In this case, it returns A's method
66 *
67 * @return Returns the java {@link Method}
68 */
69 @NotNull Method getMethod();
72 /**
73 * This should be used if you want to access annotations on WebMethod
74 * Returns the SEI method if there is one.
75 *
76 * <p>
77 * {@literal @}{@link WebService}(endpointInterface="I")
78 * class A { }
79 * In this case, it retuns I's method
80 *
81 * <p>
82 * {@literal @}{@link WebService}(endpointInterface="I")
83 * class A implements I { }
84 * In this case, it returns I's method
85 *
86 * <p>
87 * {@literal @}{@link WebService}
88 * class A { }
89 * In this case, it returns A's method
90 *
91 * @return Returns the java {@link Method}
92 */
93 @NotNull Method getSEIMethod();
95 /**
96 * @return Returns the {@link MEP}.
97 */
98 MEP getMEP();
100 /**
101 * Binding object - a {@link SOAPBinding} isntance.
102 *
103 * @return the Binding object
104 */
105 SOAPBinding getBinding();
107 /**
108 * Gives the wsdl:operation@name value
109 */
110 @NotNull String getOperationName();
113 /**
114 * Gives the request wsdl:message@name value
115 */
116 @NotNull String getRequestMessageName();
118 /**
119 * Gives the response wsdl:messageName value
120 * @return null if its a oneway operation that is getMEP().isOneWay()==true.
121 * @see com.sun.xml.internal.ws.api.model.MEP#isOneWay()
122 */
123 @Nullable String getResponseMessageName();
125 /**
126 * Gives soap:Body's first child's name for request message.
127 *
128 * @return
129 * null if this operation doesn't have any request parameter bound to the body.
130 */
131 @Nullable QName getRequestPayloadName();
133 /**
134 * Gives soap:Body's first child's name for response message.
135 *
136 * @return
137 * null if this operation doesn't have any response parameter bound to the body.
138 */
139 @Nullable QName getResponsePayloadName();
141 }