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
26//
27// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-600
28// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
29// Any modifications to this file will be lost upon recompilation of the source schema.
30// Generated on: 2008.11.17 at 11:49:55 AM CET
31//
32
33
34package com.sun.xml.internal.ws.runtime.config;
35
36import org.w3c.dom.Element;
37
38import javax.xml.bind.annotation.*;
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 *
48 *                 The root element in Metro configuration file.
49 *
50 *
51 * <p>Java class for metro element declaration.
52 *
53 * <p>The following schema fragment specifies the expected content contained within this class.
54 *
55 * <pre>
56 * &lt;element name="metro">
57 *   &lt;complexType>
58 *     &lt;complexContent>
59 *       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
60 *         &lt;sequence>
61 *           &lt;element ref="{http://java.sun.com/xml/ns/metro/config}tubelines" minOccurs="0"/>
62 *           &lt;any/>
63 *         &lt;/sequence>
64 *         &lt;attribute name="version" use="required" type="{http://java.sun.com/xml/ns/metro/config}metroConfigVersionSType" />
65 *       &lt;/restriction>
66 *     &lt;/complexContent>
67 *   &lt;/complexType>
68 * &lt;/element>
69 * </pre>
70 *
71 *
72 */
73@XmlAccessorType(XmlAccessType.FIELD)
74@XmlType(name = "", propOrder = {
75    "tubelines",
76    "any"
77})
78@XmlRootElement(name = "metro")
79public class MetroConfig {
80
81    protected Tubelines tubelines;
82    @XmlAnyElement(lax = true)
83    protected List<Object> any;
84    @XmlAttribute(required = true)
85    protected String version;
86    @XmlAnyAttribute
87    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
88
89    /**
90     * Gets the value of the tubelines property.
91     *
92     * @return
93     *     possible object is
94     *     {@link Tubelines }
95     *
96     */
97    public Tubelines getTubelines() {
98        return tubelines;
99    }
100
101    /**
102     * Sets the value of the tubelines property.
103     *
104     * @param value
105     *     allowed object is
106     *     {@link Tubelines }
107     *
108     */
109    public void setTubelines(Tubelines value) {
110        this.tubelines = value;
111    }
112
113    /**
114     * Gets the value of the any property.
115     *
116     * <p>
117     * This accessor method returns a reference to the live list,
118     * not a snapshot. Therefore any modification you make to the
119     * returned list will be present inside the JAXB object.
120     * This is why there is not a <CODE>set</CODE> method for the any property.
121     *
122     * <p>
123     * For example, to add a new item, do as follows:
124     * <pre>
125     *    getAny().add(newItem);
126     * </pre>
127     *
128     *
129     * <p>
130     * Objects of the following type(s) are allowed in the list
131     * {@link Element }
132     * {@link Object }
133     *
134     *
135     */
136    public List<Object> getAny() {
137        if (any == null) {
138            any = new ArrayList<Object>();
139        }
140        return this.any;
141    }
142
143    /**
144     * Gets the value of the version property.
145     *
146     * @return
147     *     possible object is
148     *     {@link String }
149     *
150     */
151    public String getVersion() {
152        return version;
153    }
154
155    /**
156     * Sets the value of the version property.
157     *
158     * @param value
159     *     allowed object is
160     *     {@link String }
161     *
162     */
163    public void setVersion(String value) {
164        this.version = value;
165    }
166
167    /**
168     * Gets a map that contains attributes that aren't bound to any typed property on this class.
169     *
170     * <p>
171     * the map is keyed by the name of the attribute and
172     * the value is the string value of the attribute.
173     *
174     * the map returned by this method is live, and you can add new attribute
175     * by updating the map directly. Because of this design, there's no setter.
176     *
177     *
178     * @return
179     *     always non-null
180     */
181    public Map<QName, String> getOtherAttributes() {
182        return otherAttributes;
183    }
184
185}
186