1 | // |
2 | // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 |
3 | // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> |
4 | // Any modifications to this file will be lost upon recompilation of the source schema. |
5 | // Generated on: 2010.02.03 at 01:25:12 AM UTC |
6 | // |
7 | |
8 | |
9 | package org.jomc.model; |
10 | |
11 | import java.util.ArrayList; |
12 | import java.util.Iterator; |
13 | import java.util.List; |
14 | import javax.annotation.Generated; |
15 | import javax.xml.bind.annotation.XmlAccessType; |
16 | import javax.xml.bind.annotation.XmlAccessorType; |
17 | import javax.xml.bind.annotation.XmlType; |
18 | |
19 | |
20 | /** |
21 | * List of arguments. |
22 | * |
23 | * <p>Java class for Arguments complex type. |
24 | * |
25 | * <p>The following schema fragment specifies the expected content contained within this class. |
26 | * |
27 | * <pre> |
28 | * <complexType name="Arguments"> |
29 | * <complexContent> |
30 | * <extension base="{http://jomc.org/model}ModelObject"> |
31 | * <sequence> |
32 | * <element ref="{http://jomc.org/model}argument" maxOccurs="unbounded" minOccurs="0"/> |
33 | * </sequence> |
34 | * </extension> |
35 | * </complexContent> |
36 | * </complexType> |
37 | * </pre> |
38 | * |
39 | * |
40 | */ |
41 | @XmlAccessorType(XmlAccessType.FIELD) |
42 | @XmlType(name = "Arguments", propOrder = { |
43 | "argument" |
44 | }) |
45 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-02-03T01:25:12+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
46 | public class Arguments |
47 | extends ModelObject |
48 | implements Cloneable |
49 | { |
50 | |
51 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-02-03T01:25:12+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
52 | protected List<Argument> argument; |
53 | |
54 | /** |
55 | * Creates a new {@code Arguments} instance. |
56 | * |
57 | */ |
58 | public Arguments() { |
59 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
60 | super(); |
61 | } |
62 | |
63 | /** |
64 | * Creates a new {@code Arguments} instance by deeply copying a given {@code Arguments} instance. |
65 | * |
66 | * |
67 | * @param o |
68 | * The instance to copy. |
69 | * @throws NullPointerException |
70 | * if {@code o} is {@code null}. |
71 | */ |
72 | public Arguments(final Arguments o) { |
73 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
74 | super(o); |
75 | if (o == null) { |
76 | throw new NullPointerException("Cannot create a copy of 'Arguments' from 'null'."); |
77 | } |
78 | // 'Argument' collection. |
79 | copyArgument(o.getArgument(), getArgument()); |
80 | } |
81 | |
82 | /** |
83 | * Gets the value of the argument property. |
84 | * |
85 | * <p> |
86 | * This accessor method returns a reference to the live list, |
87 | * not a snapshot. Therefore any modification you make to the |
88 | * returned list will be present inside the JAXB object. |
89 | * This is why there is not a <CODE>set</CODE> method for the argument property. |
90 | * |
91 | * <p> |
92 | * For example, to add a new item, do as follows: |
93 | * <pre> |
94 | * getArgument().add(newItem); |
95 | * </pre> |
96 | * |
97 | * |
98 | * <p> |
99 | * Objects of the following type(s) are allowed in the list |
100 | * {@link Argument } |
101 | * |
102 | * |
103 | */ |
104 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-02-03T01:25:12+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
105 | public List<Argument> getArgument() { |
106 | if (argument == null) { |
107 | argument = new ArrayList<Argument>(); |
108 | } |
109 | return this.argument; |
110 | } |
111 | |
112 | /** |
113 | * Copies all values of property {@code Argument} deeply. |
114 | * |
115 | * @param target |
116 | * The target to copy {@code source} to. |
117 | * @param source |
118 | * The source to copy from. |
119 | * @throws NullPointerException |
120 | * if {@code source} or {@code target} is {@code null}. |
121 | */ |
122 | @SuppressWarnings("unchecked") |
123 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-02-03T01:25:12+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
124 | private static void copyArgument(final List<Argument> source, final List<Argument> target) { |
125 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
126 | if (!source.isEmpty()) { |
127 | for (Iterator it = source.iterator(); it.hasNext(); ) { |
128 | final Object next = it.next(); |
129 | if (next instanceof Argument) { |
130 | // CClassInfo: org.jomc.model.Argument |
131 | target.add(((Argument) next).clone()); |
132 | continue; |
133 | } |
134 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
135 | throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Argument' of class 'org.jomc.model.Arguments'.")); |
136 | } |
137 | } |
138 | } |
139 | |
140 | /** |
141 | * Creates and returns a deep copy of this object. |
142 | * |
143 | * |
144 | * @return |
145 | * A deep copy of this object. |
146 | */ |
147 | @Override |
148 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-02-03T01:25:12+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
149 | public Arguments clone() { |
150 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
151 | return new Arguments(this); |
152 | } |
153 | |
154 | /** |
155 | * Gets an argument for a given name from the list of arguments. |
156 | * |
157 | * @param name The name of the argument to return. |
158 | * |
159 | * @return The argument with name {@code name} from the list or |
160 | * {@code null}, if no argument matching {@code name} is found. |
161 | * |
162 | * @throws NullPointerException if {@code name} is {@code null}. |
163 | * |
164 | * @see #getArgument() |
165 | */ |
166 | public Argument getArgument( final String name ) |
167 | { |
168 | if ( name == null ) |
169 | { |
170 | throw new NullPointerException( "name" ); |
171 | } |
172 | |
173 | for ( Argument a : this.getArgument() ) |
174 | { |
175 | if ( name.equals( a.getName() ) ) |
176 | { |
177 | return a; |
178 | } |
179 | } |
180 | |
181 | return null; |
182 | } |
183 | |
184 | /** |
185 | * Gets an argument for a given index from the list of arguments. |
186 | * |
187 | * @param index The index of the argument to return. |
188 | * |
189 | * @return The argument at {@code index} from the list. |
190 | * |
191 | * @throws IndexOutOfBoundsException if {@code index} is negative, greater |
192 | * or equal to the size of the list of arguments. |
193 | * |
194 | * @see #getArgument() |
195 | */ |
196 | public Argument getArgument( final int index ) |
197 | { |
198 | if ( index < 0 || index >= this.getArgument().size() ) |
199 | { |
200 | throw new IndexOutOfBoundsException( Integer.toString( index ) ); |
201 | } |
202 | |
203 | for ( Argument a : this.getArgument() ) |
204 | { |
205 | if ( index == a.getIndex() ) |
206 | { |
207 | return a; |
208 | } |
209 | } |
210 | |
211 | return null; |
212 | } |
213 | |
214 | |
215 | } |