src/share/jaxws_classes/com/oracle/webservices/internal/api/EnvelopeStyle.java

Tue, 09 Apr 2013 14:51:13 +0100

author
alanb
date
Tue, 09 Apr 2013 14:51:13 +0100
changeset 368
0989ad8c0860
child 374
72e03566f0a6
permissions
-rw-r--r--

8010393: Update JAX-WS RI to 2.2.9-b12941
Reviewed-by: alanb, erikj
Contributed-by: miroslav.kos@oracle.com, martin.grebac@oracle.com

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

mercurial