1 /*
   2  * Copyright (c) 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  */
  25 
  26 package com.oracle.xmlns.internal.webservices.jaxws_databinding;
  27 import org.w3c.dom.Element;
  28 
  29 import javax.xml.bind.annotation.XmlAccessType;
  30 import javax.xml.bind.annotation.XmlAccessorType;
  31 import javax.xml.bind.annotation.XmlAnyAttribute;
  32 import javax.xml.bind.annotation.XmlAnyElement;
  33 import javax.xml.bind.annotation.XmlAttribute;
  34 import javax.xml.bind.annotation.XmlElement;
  35 import javax.xml.bind.annotation.XmlElementRef;
  36 import javax.xml.bind.annotation.XmlElementRefs;
  37 import javax.xml.bind.annotation.XmlRootElement;
  38 import javax.xml.bind.annotation.XmlType;
  39 import javax.xml.namespace.QName;
  40 import java.util.ArrayList;
  41 import java.util.HashMap;
  42 import java.util.List;
  43 import java.util.Map;
  44 
  45 
  46 /**
  47  * This file was generated by JAXB-RI v2.2.6 and afterwards modified
  48  * to implement appropriate Annotation
  49  *
  50  * <p>Java class for anonymous complex type.
  51  *
  52  * <p>The following schema fragment specifies the expected content contained within this class.
  53  *
  54  * <pre>
  55  * &lt;complexType>
  56  *   &lt;complexContent>
  57  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  58  *       &lt;sequence>
  59  *         &lt;group ref="{http://xmlns.oracle.com/webservices/jaxws-databinding}method-annotation" maxOccurs="unbounded" minOccurs="0"/>
  60  *         &lt;element name="java-params" minOccurs="0">
  61  *           &lt;complexType>
  62  *             &lt;complexContent>
  63  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  64  *                 &lt;sequence>
  65  *                   &lt;element ref="{http://xmlns.oracle.com/webservices/jaxws-databinding}java-param" maxOccurs="unbounded"/>
  66  *                 &lt;/sequence>
  67  *               &lt;/restriction>
  68  *             &lt;/complexContent>
  69  *           &lt;/complexType>
  70  *         &lt;/element>
  71  *       &lt;/sequence>
  72  *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
  73  *       &lt;anyAttribute processContents='skip' namespace='##other'/>
  74  *     &lt;/restriction>
  75  *   &lt;/complexContent>
  76  * &lt;/complexType>
  77  * </pre>
  78  */
  79 @XmlAccessorType(XmlAccessType.FIELD)
  80 @XmlType(name = "", propOrder = {
  81     "methodAnnotation",
  82     "javaParams"
  83 })
  84 @XmlRootElement(name = "java-method")
  85 public class JavaMethod {
  86 
  87     @XmlElementRefs({
  88         @XmlElementRef(name = "web-endpoint", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlWebEndpoint.class, required = false),
  89         @XmlElementRef(name = "oneway", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlOneway.class, required = false),
  90         @XmlElementRef(name = "action", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlAction.class, required = false),
  91         @XmlElementRef(name = "soap-binding", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlSOAPBinding.class, required = false),
  92         @XmlElementRef(name = "web-result", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlWebResult.class, required = false),
  93         @XmlElementRef(name = "web-method", namespace = "http://xmlns.oracle.com/webservices/jaxws-databinding", type = XmlWebMethod.class, required = false)
  94     })
  95     @XmlAnyElement
  96     protected List<Object> methodAnnotation;
  97     @XmlElement(name = "java-params")
  98     protected JavaMethod.JavaParams javaParams;
  99     @XmlAttribute(name = "name", required = true)
 100     protected String name;
 101     @XmlAnyAttribute
 102     private Map<QName, String> otherAttributes = new HashMap<QName, String>();
 103 
 104     /**
 105      * Gets the value of the methodAnnotation property.
 106      *
 107      * <p>
 108      * This accessor method returns a reference to the live list,
 109      * not a snapshot. Therefore any modification you make to the
 110      * returned list will be present inside the JAXB object.
 111      * This is why there is not a <CODE>set</CODE> method for the methodAnnotation property.
 112      *
 113      * <p>
 114      * For example, to add a new item, do as follows:
 115      * <pre>
 116      *    getMethodAnnotation().add(newItem);
 117      * </pre>
 118      *
 119      *
 120      * <p>
 121      * Objects of the following type(s) are allowed in the list
 122      * {@link XmlWebEndpoint }
 123      * {@link XmlOneway }
 124      * {@link XmlAction }
 125      * {@link XmlSOAPBinding }
 126      * {@link XmlWebResult }
 127      * {@link XmlWebMethod }
 128      * {@link Element }
 129      *
 130      *
 131      */
 132     public List<Object> getMethodAnnotation() {
 133         if (methodAnnotation == null) {
 134             methodAnnotation = new ArrayList<Object>();
 135         }
 136         return this.methodAnnotation;
 137     }
 138 
 139     /**
 140      * Gets the value of the javaParams property.
 141      *
 142      * @return
 143      *     possible object is
 144      *     {@link JavaMethod.JavaParams }
 145      *
 146      */
 147     public JavaMethod.JavaParams getJavaParams() {
 148         return javaParams;
 149     }
 150 
 151     /**
 152      * Sets the value of the javaParams property.
 153      *
 154      * @param value
 155      *     allowed object is
 156      *     {@link JavaMethod.JavaParams }
 157      *
 158      */
 159     public void setJavaParams(JavaMethod.JavaParams value) {
 160         this.javaParams = value;
 161     }
 162 
 163     /**
 164      * Gets the value of the name property.
 165      *
 166      * @return
 167      *     possible object is
 168      *     {@link String }
 169      *
 170      */
 171     public String getName() {
 172         return name;
 173     }
 174 
 175     /**
 176      * Sets the value of the name property.
 177      *
 178      * @param value
 179      *     allowed object is
 180      *     {@link String }
 181      *
 182      */
 183     public void setName(String value) {
 184         this.name = value;
 185     }
 186 
 187     /**
 188      * Gets a map that contains attributes that aren't bound to any typed property on this class.
 189      *
 190      * <p>
 191      * the map is keyed by the name of the attribute and
 192      * the value is the string value of the attribute.
 193      *
 194      * the map returned by this method is live, and you can add new attribute
 195      * by updating the map directly. Because of this design, there's no setter.
 196      *
 197      *
 198      * @return
 199      *     always non-null
 200      */
 201     public Map<QName, String> getOtherAttributes() {
 202         return otherAttributes;
 203     }
 204 
 205 
 206     /**
 207      * <p>Java class for anonymous complex type.
 208      *
 209      * <p>The following schema fragment specifies the expected content contained within this class.
 210      *
 211      * <pre>
 212      * &lt;complexType>
 213      *   &lt;complexContent>
 214      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 215      *       &lt;sequence>
 216      *         &lt;element ref="{http://xmlns.oracle.com/webservices/jaxws-databinding}java-param" maxOccurs="unbounded"/>
 217      *       &lt;/sequence>
 218      *     &lt;/restriction>
 219      *   &lt;/complexContent>
 220      * &lt;/complexType>
 221      * </pre>
 222      *
 223      *
 224      */
 225     @XmlAccessorType(XmlAccessType.FIELD)
 226     @XmlType(name = "", propOrder = {
 227         "javaParam"
 228     })
 229     public static class JavaParams {
 230 
 231         @XmlElement(name = "java-param", required = true)
 232         protected List<JavaParam> javaParam;
 233 
 234         /**
 235          * Gets the value of the javaParam property.
 236          *
 237          * <p>
 238          * This accessor method returns a reference to the live list,
 239          * not a snapshot. Therefore any modification you make to the
 240          * returned list will be present inside the JAXB object.
 241          * This is why there is not a <CODE>set</CODE> method for the javaParam property.
 242          *
 243          * <p>
 244          * For example, to add a new item, do as follows:
 245          * <pre>
 246          *    getJavaParam().add(newItem);
 247          * </pre>
 248          *
 249          *
 250          * <p>
 251          * Objects of the following type(s) are allowed in the list
 252          * {@link JavaParam }
 253          *
 254          *
 255          */
 256         public List<JavaParam> getJavaParam() {
 257             if (javaParam == null) {
 258                 javaParam = new ArrayList<JavaParam>();
 259             }
 260             return this.javaParam;
 261         }
 262 
 263     }
 264 
 265 }