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

Tue, 06 Mar 2012 16:09:35 -0800

author
ohair
date
Tue, 06 Mar 2012 16:09:35 -0800
changeset 286
f50545b5e2f1
child 292
c46e0b6e3f98
permissions
-rw-r--r--

7150322: Stop using drop source bundles in jaxws
Reviewed-by: darcy, ohrstrom

     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  */
    41 package com.sun.xml.internal.org.jvnet.ws;
    43 import java.lang.annotation.Retention;
    44 import java.lang.annotation.RetentionPolicy;
    46 import javax.xml.ws.http.HTTPBinding;
    47 import javax.xml.ws.soap.SOAPBinding;
    48 import javax.xml.ws.spi.WebServiceFeatureAnnotation;
    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 {
    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 };
    76     public enum Style {
    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),
    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),
    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);
    96         /**
    97          * The BindingID used by the BindingType annotation.
    98          */
    99         public final String bindingId;
   101         private Style(String id) {
   102             bindingId = id;
   103         }
   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); }
   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); }
   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