src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/ws/EnvelopeStyle.java

changeset 286
f50545b5e2f1
child 292
c46e0b6e3f98
equal deleted inserted replaced
284:88b85470e72c 286:f50545b5e2f1
1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 *
4 * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved.
5 *
6 * The contents of this file are subject to the terms of either the GNU
7 * General Public License Version 2 only ("GPL") or the Common Development
8 * and Distribution License("CDDL") (collectively, the "License"). You
9 * may not use this file except in compliance with the License. You can
10 * obtain a copy of the License at
11 * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
12 * or packager/legal/LICENSE.txt. See the License for the specific
13 * language governing permissions and limitations under the License.
14 *
15 * When distributing the software, include this License Header Notice in each
16 * file and include the License file at packager/legal/LICENSE.txt.
17 *
18 * GPL Classpath Exception:
19 * Oracle designates this particular file as subject to the "Classpath"
20 * exception as provided by Oracle in the GPL Version 2 section of the License
21 * file that accompanied this code.
22 *
23 * Modifications:
24 * If applicable, add the following below the License Header, with the fields
25 * enclosed by brackets [] replaced by your own identifying information:
26 * "Portions Copyright [year] [name of copyright owner]"
27 *
28 * Contributor(s):
29 * If you wish your version of this file to be governed by only the CDDL or
30 * only the GPL Version 2, indicate your decision by adding "[Contributor]
31 * elects to include this software in this distribution under the [CDDL or GPL
32 * Version 2] license." If you don't indicate a single choice of license, a
33 * recipient has the option to distribute your version of this file under
34 * either the CDDL, the GPL Version 2 or to extend the choice of license to
35 * its licensees as provided above. However, if you add GPL Version 2 code
36 * and therefore, elected the GPL Version 2 license, then the option applies
37 * only if the new code is made subject to such option by the copyright
38 * holder.
39 */
40
41 package com.sun.xml.internal.org.jvnet.ws;
42
43 import java.lang.annotation.Retention;
44 import java.lang.annotation.RetentionPolicy;
45
46 import javax.xml.ws.http.HTTPBinding;
47 import javax.xml.ws.soap.SOAPBinding;
48 import javax.xml.ws.spi.WebServiceFeatureAnnotation;
49
50 /**
51 * The EnvelopeStyle annotation is used to specify the message envelope style(s)
52 * for a web service endpoint implementation class. To smooth the migration from
53 * the BindingType annotation to this EnvelopeStyle annotation, each of the
54 * styles is mapped to a binding identifier defined in JAX-WS specification.
55 * Though a binding identifier includes both the envelope style and transport,
56 * an envelope style defined herein does NOT imply or mandate any transport protocol
57 * to be use together; HTTP is the default transport. An implementation may
58 * chose to support other transport with any of the envelope styles.
59 *
60 * This annotation may be overriden programmatically or via deployment
61 * descriptors, depending on the platform in use.
62 *
63 * @author shih-chang.chen@oracle.com
64 */
65 @WebServiceFeatureAnnotation(id="", bean=com.sun.xml.internal.org.jvnet.ws.EnvelopeStyleFeature.class)
66 @Retention(RetentionPolicy.RUNTIME)
67 public @interface EnvelopeStyle {
68
69 /**
70 * The envelope styles. If not specified, the default is the SOAP 1.1.
71 *
72 * @return The enveloping styles
73 */
74 Style[] style() default { Style.SOAP11 };
75
76 public enum Style {
77
78 /**
79 * SOAP1.1. For JAX-WS, this is mapped from:
80 * javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING
81 */
82 SOAP11(SOAPBinding.SOAP11HTTP_BINDING),
83
84 /**
85 * SOAP1.2. For JAX-WS, this is mapped from:
86 * javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
87 */
88 SOAP12(SOAPBinding.SOAP11HTTP_BINDING),
89
90 /**
91 * The raw XML. For JAX-WS, this is mapped from:
92 * javax.xml.ws.http.HTTPBinding.HTTP_BINDING
93 */
94 XML(HTTPBinding.HTTP_BINDING);
95
96 /**
97 * The BindingID used by the BindingType annotation.
98 */
99 public final String bindingId;
100
101 private Style(String id) {
102 bindingId = id;
103 }
104
105 /**
106 * Checks if the style is SOAP 1.1.
107 *
108 * @return true if the style is SOAP 1.1.
109 */
110 public boolean isSOAP11() { return this.equals(SOAP11); }
111
112 /**
113 * Checks if the style is SOAP 1.2.
114 *
115 * @return true if the style is SOAP 1.2.
116 */
117 public boolean isSOAP12() { return this.equals(SOAP12); }
118
119 /**
120 * Checks if the style is XML.
121 *
122 * @return true if the style is XML.
123 */
124 public boolean isXML() { return this.equals(XML); }
125 }
126 }

mercurial