1/*
2 * Copyright (c) 2012, 2013, 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
26package com.oracle.xmlns.internal.webservices.jaxws_databinding;
27import org.w3c.dom.Element;
28
29import javax.xml.bind.annotation.XmlAccessType;
30import javax.xml.bind.annotation.XmlAccessorType;
31import javax.xml.bind.annotation.XmlAnyAttribute;
32import javax.xml.bind.annotation.XmlAnyElement;
33import javax.xml.bind.annotation.XmlAttribute;
34import javax.xml.bind.annotation.XmlElement;
35import javax.xml.bind.annotation.XmlElementRef;
36import javax.xml.bind.annotation.XmlElementRefs;
37import javax.xml.bind.annotation.XmlRootElement;
38import javax.xml.bind.annotation.XmlType;
39import javax.xml.namespace.QName;
40import java.util.ArrayList;
41import java.util.HashMap;
42import java.util.List;
43import 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")
85public 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}
266