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

Tue, 23 Apr 2013 18:33:20 -0700

author
katleman
date
Tue, 23 Apr 2013 18:33:20 -0700
changeset 374
72e03566f0a6
parent 368
0989ad8c0860
child 637
9c07ef4934dd
permissions
-rw-r--r--

8012643: JDK8 b86 source with GPL header errors
Reviewed-by: dholmes, alanb

alanb@368 1 /*
katleman@374 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
katleman@374 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
alanb@368 4 *
katleman@374 5 * This code is free software; you can redistribute it and/or modify it
katleman@374 6 * under the terms of the GNU General Public License version 2 only, as
katleman@374 7 * published by the Free Software Foundation. Oracle designates this
katleman@374 8 * particular file as subject to the "Classpath" exception as provided
katleman@374 9 * by Oracle in the LICENSE file that accompanied this code.
alanb@368 10 *
katleman@374 11 * This code is distributed in the hope that it will be useful, but WITHOUT
katleman@374 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
katleman@374 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
katleman@374 14 * version 2 for more details (a copy is included in the LICENSE file that
katleman@374 15 * accompanied this code).
alanb@368 16 *
katleman@374 17 * You should have received a copy of the GNU General Public License version
katleman@374 18 * 2 along with this work; if not, write to the Free Software Foundation,
katleman@374 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
alanb@368 20 *
katleman@374 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
katleman@374 22 * or visit www.oracle.com if you need additional information or have any
katleman@374 23 * questions.
alanb@368 24 */
alanb@368 25
alanb@368 26 package com.oracle.webservices.internal.api;
alanb@368 27
alanb@368 28 import java.lang.annotation.Retention;
alanb@368 29 import java.lang.annotation.RetentionPolicy;
alanb@368 30
alanb@368 31 import javax.xml.ws.http.HTTPBinding;
alanb@368 32 import javax.xml.ws.soap.SOAPBinding;
alanb@368 33 import javax.xml.ws.spi.WebServiceFeatureAnnotation;
alanb@368 34
alanb@368 35 /**
alanb@368 36 * The EnvelopeStyle annotation is used to specify the message envelope style(s)
alanb@368 37 * for a web service endpoint implementation class. To smooth the migration from
alanb@368 38 * the BindingType annotation to this EnvelopeStyle annotation, each of the
alanb@368 39 * styles is mapped to a binding identifier defined in JAX-WS specification.
alanb@368 40 * Though a binding identifier includes both the envelope style and transport,
alanb@368 41 * an envelope style defined herein does NOT imply or mandate any transport protocol
alanb@368 42 * to be use together; HTTP is the default transport. An implementation may
alanb@368 43 * chose to support other transport with any of the envelope styles.
alanb@368 44 *
alanb@368 45 * This annotation may be overriden programmatically or via deployment
alanb@368 46 * descriptors, depending on the platform in use.
alanb@368 47 *
alanb@368 48 * @author shih-chang.chen@oracle.com
alanb@368 49 */
alanb@368 50 @WebServiceFeatureAnnotation(id="", bean=com.oracle.webservices.internal.api.EnvelopeStyleFeature.class)
alanb@368 51 @Retention(RetentionPolicy.RUNTIME)
alanb@368 52 public @interface EnvelopeStyle {
alanb@368 53
alanb@368 54 /**
alanb@368 55 * The envelope styles. If not specified, the default is the SOAP 1.1.
alanb@368 56 *
alanb@368 57 * @return The enveloping styles
alanb@368 58 */
alanb@368 59 Style[] style() default { Style.SOAP11 };
alanb@368 60
alanb@368 61 public enum Style {
alanb@368 62
alanb@368 63 /**
alanb@368 64 * SOAP1.1. For JAX-WS, this is mapped from:
alanb@368 65 * javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING
alanb@368 66 */
alanb@368 67 SOAP11(SOAPBinding.SOAP11HTTP_BINDING),
alanb@368 68
alanb@368 69 /**
alanb@368 70 * SOAP1.2. For JAX-WS, this is mapped from:
alanb@368 71 * javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
alanb@368 72 */
alanb@368 73 SOAP12(SOAPBinding.SOAP12HTTP_BINDING),
alanb@368 74
alanb@368 75 /**
alanb@368 76 * The raw XML. For JAX-WS, this is mapped from:
alanb@368 77 * javax.xml.ws.http.HTTPBinding.HTTP_BINDING
alanb@368 78 */
alanb@368 79 XML(HTTPBinding.HTTP_BINDING);
alanb@368 80
alanb@368 81 /**
alanb@368 82 * The BindingID used by the BindingType annotation.
alanb@368 83 */
alanb@368 84 public final String bindingId;
alanb@368 85
alanb@368 86 private Style(String id) {
alanb@368 87 bindingId = id;
alanb@368 88 }
alanb@368 89
alanb@368 90 /**
alanb@368 91 * Checks if the style is SOAP 1.1.
alanb@368 92 *
alanb@368 93 * @return true if the style is SOAP 1.1.
alanb@368 94 */
alanb@368 95 public boolean isSOAP11() { return this.equals(SOAP11); }
alanb@368 96
alanb@368 97 /**
alanb@368 98 * Checks if the style is SOAP 1.2.
alanb@368 99 *
alanb@368 100 * @return true if the style is SOAP 1.2.
alanb@368 101 */
alanb@368 102 public boolean isSOAP12() { return this.equals(SOAP12); }
alanb@368 103
alanb@368 104 /**
alanb@368 105 * Checks if the style is XML.
alanb@368 106 *
alanb@368 107 * @return true if the style is XML.
alanb@368 108 */
alanb@368 109 public boolean isXML() { return this.equals(XML); }
alanb@368 110 }
alanb@368 111 }

mercurial