Thu, 31 Aug 2017 15:18:52 +0800
merge
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.tools.internal.ws.wsdl.document.jaxws;
28 import com.sun.tools.internal.ws.wsdl.framework.ExtensionImpl;
29 import org.w3c.dom.Element;
30 import org.xml.sax.Locator;
32 import javax.xml.namespace.QName;
33 import java.util.*;
36 /**
37 * @author Vivek Pandey
38 *
39 * To change the template for this generated type comment go to
40 * Window>Preferences>Java>Code Generation>Code and Comments
41 */
42 public class JAXWSBinding extends ExtensionImpl {
44 /**
45 *
46 */
47 public JAXWSBinding(Locator locator){
48 super(locator);
49 jaxbBindings = new HashSet<Element>();
50 // TODO Auto-generated constructor stub
51 }
54 /* (non-Javadoc)
55 * @see Entity#validateThis()
56 */
57 public void validateThis(){
58 // TODO Auto-generated method stub
60 }
62 /* (non-Javadoc)
63 * @see Elemental#getElementName()
64 */
65 public QName getElementName(){
66 // TODO Auto-generated method stub
67 return JAXWSBindingsConstants.JAXWS_BINDINGS;
68 }
70 public QName getWSDLElementName() {
71 return getElementName();
72 }
74 /* (non-Javadoc)
75 * @see TWSDLExtensible#addExtension(ExtensionImpl)
76 */
77 public void addExtension(ExtensionImpl e) {
78 // TODO Auto-generated method stub
80 }
82 /* (non-Javadoc)
83 * @see TWSDLExtensible#extensions()
84 */
85 public Iterable<ExtensionImpl> extensions() {
86 // TODO Auto-generated method stub
87 return null;
88 }
91 // /**
92 // * @return Returns the enableAdditionalHeaderMapping.
93 // */
94 // public Boolean isEnableAdditionalHeaderMapping() {
95 // return enableAdditionalHeaderMapping;
96 // }
97 // /**
98 // * @param enableAdditionalHeaderMapping The enableAdditionalHeaderMapping to set.
99 // */
100 // public void setEnableAdditionalHeaderMapping(
101 // Boolean enableAdditionalHeaderMapping) {
102 // this.enableAdditionalHeaderMapping = enableAdditionalHeaderMapping;
103 // }
104 /**
105 * @return Returns the enableAsyncMapping.
106 */
107 public Boolean isEnableAsyncMapping() {
108 return enableAsyncMapping;
109 }
110 /**
111 * @param enableAsyncMapping The enableAsyncMapping to set.
112 */
113 public void setEnableAsyncMapping(Boolean enableAsyncMapping) {
114 this.enableAsyncMapping = enableAsyncMapping;
115 }
116 /**
117 * @return Returns the enableMimeContentMapping.
118 */
119 public Boolean isEnableMimeContentMapping() {
120 return enableMimeContentMapping;
121 }
122 /**
123 * @param enableMimeContentMapping The enableMimeContentMapping to set.
124 */
125 public void setEnableMimeContentMapping(Boolean enableMimeContentMapping) {
126 this.enableMimeContentMapping = enableMimeContentMapping;
127 }
128 /**
129 * @return Returns the enableWrapperStyle.
130 */
131 public Boolean isEnableWrapperStyle() {
132 return enableWrapperStyle;
133 }
134 /**
135 * @param enableWrapperStyle The enableWrapperStyle to set.
136 */
137 public void setEnableWrapperStyle(Boolean enableWrapperStyle) {
138 this.enableWrapperStyle = enableWrapperStyle;
139 }
140 /**
141 * @return Returns the jaxwsPackage.
142 */
143 public CustomName getJaxwsPackage() {
144 return jaxwsPackage;
145 }
146 /**
147 * @param jaxwsPackage The jaxwsPackage to set.
148 */
149 public void setJaxwsPackage(CustomName jaxwsPackage) {
150 this.jaxwsPackage = jaxwsPackage;
151 }
152 /**
153 * @return Returns the node.
154 */
155 public String getNode() {
156 return node;
157 }
158 /**
159 * @param node The node to set.
160 */
161 public void setNode(String node) {
162 this.node = node;
163 }
164 /**
165 * @return Returns the version.
166 */
167 public String getVersion() {
168 return version;
169 }
170 /**
171 * @param version The version to set.
172 */
173 public void setVersion(String version) {
174 this.version = version;
175 }
177 /**
178 * @return Returns the wsdlLocation.
179 */
180 public String getWsdlLocation() {
181 return wsdlLocation;
182 }
184 /**
185 * @param wsdlLocation The wsdlLocation to set.
186 */
187 public void setWsdlLocation(String wsdlLocation) {
188 this.wsdlLocation = wsdlLocation;
189 }
191 /**
192 * @return Returns the wsdlNamespace.
193 */
194 public String getWsdlNamespace() {
195 return wsdlNamespace;
196 }
199 /**
200 * @param wsdlNamespace The wsdlNamespace to set.
201 */
202 public void setWsdlNamespace(String wsdlNamespace) {
203 this.wsdlNamespace = wsdlNamespace;
204 }
206 /**
207 * @return Returns the jaxbBindings.
208 */
209 public Set<Element> getJaxbBindings() {
210 return jaxbBindings;
211 }
213 /**
214 * @param jaxbBinding The jaxbBindings to set.
215 */
216 public void addJaxbBindings(Element jaxbBinding) {
217 if(jaxbBindings == null)
218 return;
219 this.jaxbBindings.add(jaxbBinding);
220 }
223 /**
224 * @return the isProvider.
225 */
226 public Boolean isProvider() {
227 return isProvider;
228 }
229 /**
230 * @param isProvider The isProvider to set.
231 */
232 public void setProvider(Boolean isProvider) {
233 this.isProvider = isProvider;
234 }
236 /**
237 * @return Returns the methodName.
238 */
239 public CustomName getMethodName() {
240 return methodName;
241 }
242 /**
243 * @param methodName The methodName to set.
244 */
245 public void setMethodName(CustomName methodName) {
246 this.methodName = methodName;
247 }
249 /**
250 * @return Returns the parameter.
251 */
252 public Iterator<Parameter> parameters() {
253 return parameters.iterator();
254 }
256 /**
257 * @param parameter The parameter to set.
258 */
259 public void addParameter(Parameter parameter) {
260 if(parameters == null)
261 parameters = new ArrayList<Parameter>();
262 parameters.add(parameter);
263 }
265 public String getParameterName(String msgName, String wsdlPartName, QName element, boolean wrapperStyle){
266 if(msgName == null || wsdlPartName == null || element == null || parameters == null)
267 return null;
268 for(Parameter param : parameters){
269 if(param.getMessageName().equals(msgName) && param.getPart().equals(wsdlPartName)){
270 if(wrapperStyle && (param.getElement() != null)){
271 if(param.getElement().equals(element))
272 return param.getName();
273 }else if(!wrapperStyle){
274 return param.getName();
275 }
276 }
277 }
278 return null;
279 }
281 /**
282 * @return Returns the className.
283 */
284 public CustomName getClassName() {
285 return className;
286 }
287 /**
288 * @param className The className to set.
289 */
290 public void setClassName(CustomName className) {
291 this.className = className;
292 }
294 private String wsdlNamespace;
295 private String wsdlLocation;
296 private String node;
297 private String version;
299 private CustomName jaxwsPackage;
300 private List<Parameter> parameters;
301 private Boolean enableWrapperStyle;
302 private Boolean enableAsyncMapping;
303 // private Boolean enableAdditionalHeaderMapping;
304 private Boolean enableMimeContentMapping;
305 private Boolean isProvider;
307 private Set<Element> jaxbBindings;
309 // portType className
310 private CustomName className;
312 //portType WSDLOperation
313 private CustomName methodName;
314 }