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.01.19 at 05:54:28 PM UTC |
6 | // |
7 | |
8 | |
9 | package org.jomc.model; |
10 | |
11 | import java.io.ByteArrayInputStream; |
12 | import java.io.ByteArrayOutputStream; |
13 | import java.io.IOException; |
14 | import java.io.InvalidClassException; |
15 | import java.io.NotSerializableException; |
16 | import java.io.ObjectInputStream; |
17 | import java.io.ObjectOutputStream; |
18 | import java.io.OptionalDataException; |
19 | import java.io.Serializable; |
20 | import java.io.StreamCorruptedException; |
21 | import java.lang.reflect.Array; |
22 | import java.lang.reflect.InvocationTargetException; |
23 | import java.math.BigDecimal; |
24 | import java.math.BigInteger; |
25 | import java.util.ArrayList; |
26 | import java.util.Calendar; |
27 | import java.util.Currency; |
28 | import java.util.Date; |
29 | import java.util.Iterator; |
30 | import java.util.List; |
31 | import java.util.Locale; |
32 | import java.util.TimeZone; |
33 | import java.util.UUID; |
34 | import javax.annotation.Generated; |
35 | import javax.xml.bind.JAXBElement; |
36 | import javax.xml.bind.annotation.XmlAccessType; |
37 | import javax.xml.bind.annotation.XmlAccessorType; |
38 | import javax.xml.bind.annotation.XmlAnyElement; |
39 | import javax.xml.bind.annotation.XmlAttribute; |
40 | import javax.xml.bind.annotation.XmlType; |
41 | import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; |
42 | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; |
43 | import javax.xml.datatype.Duration; |
44 | import javax.xml.datatype.XMLGregorianCalendar; |
45 | import javax.xml.namespace.QName; |
46 | import org.w3c.dom.Element; |
47 | |
48 | |
49 | /** |
50 | * |
51 | * Model of an instance. |
52 | * |
53 | * The 'Instance' type defines attributes 'identifier', 'name', 'class' and 'stateless'. Attribute 'identifier' holds an |
54 | * identifier uniquely identifying the instance in a set of instances. Attribute 'name' holds an identifier uniquely |
55 | * identifying the implementation of the specifications implemented by an instance. Attribute 'class' holds an identifier |
56 | * of the class of an instance. Attribute 'stateless' flags an instance stateless. |
57 | * |
58 | * An instance is build from implementations. An implementation declaring a location declares its instance located outside |
59 | * the scope of the model. An implementation not delcaring a class is only available during implementation inheritance |
60 | * processing. No instance is build from such implementations. |
61 | * |
62 | * |
63 | * <p>Java class for Instance complex type. |
64 | * |
65 | * <p>The following schema fragment specifies the expected content contained within this class. |
66 | * |
67 | * <pre> |
68 | * <complexType name="Instance"> |
69 | * <complexContent> |
70 | * <extension base="{http://jomc.org/model}ModelObject"> |
71 | * <sequence> |
72 | * <element ref="{http://jomc.org/model}specifications" minOccurs="0"/> |
73 | * <element ref="{http://jomc.org/model}dependencies" minOccurs="0"/> |
74 | * <element ref="{http://jomc.org/model}properties" minOccurs="0"/> |
75 | * <element ref="{http://jomc.org/model}messages" minOccurs="0"/> |
76 | * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/> |
77 | * </sequence> |
78 | * <attribute name="identifier" use="required" type="{http://jomc.org/model}Identifier" /> |
79 | * <attribute name="name" use="required" type="{http://jomc.org/model}Identifier" /> |
80 | * <attribute name="class" use="required" type="{http://jomc.org/model}Identifier" /> |
81 | * <attribute name="stateless" type="{http://jomc.org/model}Flag" default="false" /> |
82 | * </extension> |
83 | * </complexContent> |
84 | * </complexType> |
85 | * </pre> |
86 | * |
87 | * |
88 | */ |
89 | @XmlAccessorType(XmlAccessType.FIELD) |
90 | @XmlType(name = "Instance", propOrder = { |
91 | "specifications", |
92 | "dependencies", |
93 | "properties", |
94 | "messages", |
95 | "any" |
96 | }) |
97 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
98 | public class Instance |
99 | extends ModelObject |
100 | implements Cloneable |
101 | { |
102 | |
103 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
104 | protected Specifications specifications; |
105 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
106 | protected Dependencies dependencies; |
107 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
108 | protected Properties properties; |
109 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
110 | protected Messages messages; |
111 | @XmlAnyElement(lax = true) |
112 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
113 | protected List<Object> any; |
114 | @XmlAttribute(required = true) |
115 | @XmlJavaTypeAdapter(CollapsedStringAdapter.class) |
116 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
117 | protected String identifier; |
118 | @XmlAttribute(required = true) |
119 | @XmlJavaTypeAdapter(CollapsedStringAdapter.class) |
120 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
121 | protected String name; |
122 | @XmlAttribute(name = "class", required = true) |
123 | @XmlJavaTypeAdapter(CollapsedStringAdapter.class) |
124 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
125 | protected String clazz; |
126 | @XmlAttribute |
127 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
128 | protected Boolean stateless; |
129 | |
130 | /** |
131 | * Creates a new {@code Instance} instance. |
132 | * |
133 | */ |
134 | public Instance() { |
135 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
136 | super(); |
137 | } |
138 | |
139 | /** |
140 | * Creates a new {@code Instance} instance by deeply copying a given {@code Instance} instance. |
141 | * |
142 | * |
143 | * @param o |
144 | * The instance to copy. |
145 | * @throws NullPointerException |
146 | * if {@code o} is {@code null}. |
147 | */ |
148 | public Instance(final Instance o) { |
149 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
150 | super(o); |
151 | if (o == null) { |
152 | throw new NullPointerException("Cannot create a copy of 'Instance' from 'null'."); |
153 | } |
154 | // CClassInfo: org.jomc.model.Specifications |
155 | this.specifications = ((o.getSpecifications() == null)?null:o.getSpecifications().clone()); |
156 | // CClassInfo: org.jomc.model.Dependencies |
157 | this.dependencies = ((o.getDependencies() == null)?null:o.getDependencies().clone()); |
158 | // CClassInfo: org.jomc.model.Properties |
159 | this.properties = ((o.getProperties() == null)?null:o.getProperties().clone()); |
160 | // CClassInfo: org.jomc.model.Messages |
161 | this.messages = ((o.getMessages() == null)?null:o.getMessages().clone()); |
162 | // 'Any' collection. |
163 | copyAny(o.getAny(), getAny()); |
164 | // CBuiltinLeafInfo: java.lang.String |
165 | this.identifier = o.getIdentifier(); |
166 | // CBuiltinLeafInfo: java.lang.String |
167 | this.name = o.getName(); |
168 | // CBuiltinLeafInfo: java.lang.String |
169 | this.clazz = o.getClazz(); |
170 | // CBuiltinLeafInfo: java.lang.Boolean |
171 | this.stateless = o.isStateless(); |
172 | } |
173 | |
174 | /** |
175 | * Specifications implemented by this instance or {@code null}. |
176 | * |
177 | * @return |
178 | * possible object is |
179 | * {@link Specifications } |
180 | * |
181 | */ |
182 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
183 | public Specifications getSpecifications() { |
184 | return specifications; |
185 | } |
186 | |
187 | /** |
188 | * Sets the value of the specifications property. |
189 | * |
190 | * @param value |
191 | * allowed object is |
192 | * {@link Specifications } |
193 | * |
194 | */ |
195 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
196 | public void setSpecifications(Specifications value) { |
197 | this.specifications = value; |
198 | } |
199 | |
200 | /** |
201 | * Dependencies of this instance or {@code null}. |
202 | * |
203 | * @return |
204 | * possible object is |
205 | * {@link Dependencies } |
206 | * |
207 | */ |
208 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
209 | public Dependencies getDependencies() { |
210 | return dependencies; |
211 | } |
212 | |
213 | /** |
214 | * Sets the value of the dependencies property. |
215 | * |
216 | * @param value |
217 | * allowed object is |
218 | * {@link Dependencies } |
219 | * |
220 | */ |
221 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
222 | public void setDependencies(Dependencies value) { |
223 | this.dependencies = value; |
224 | } |
225 | |
226 | /** |
227 | * Properties of this instance or {@code null}. |
228 | * |
229 | * @return |
230 | * possible object is |
231 | * {@link Properties } |
232 | * |
233 | */ |
234 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
235 | public Properties getProperties() { |
236 | return properties; |
237 | } |
238 | |
239 | /** |
240 | * Sets the value of the properties property. |
241 | * |
242 | * @param value |
243 | * allowed object is |
244 | * {@link Properties } |
245 | * |
246 | */ |
247 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
248 | public void setProperties(Properties value) { |
249 | this.properties = value; |
250 | } |
251 | |
252 | /** |
253 | * Messages of this instance or {@code null}. |
254 | * |
255 | * @return |
256 | * possible object is |
257 | * {@link Messages } |
258 | * |
259 | */ |
260 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
261 | public Messages getMessages() { |
262 | return messages; |
263 | } |
264 | |
265 | /** |
266 | * Sets the value of the messages property. |
267 | * |
268 | * @param value |
269 | * allowed object is |
270 | * {@link Messages } |
271 | * |
272 | */ |
273 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
274 | public void setMessages(Messages value) { |
275 | this.messages = value; |
276 | } |
277 | |
278 | /** |
279 | * Gets the value of the any property. |
280 | * |
281 | * <p> |
282 | * This accessor method returns a reference to the live list, |
283 | * not a snapshot. Therefore any modification you make to the |
284 | * returned list will be present inside the JAXB object. |
285 | * This is why there is not a <CODE>set</CODE> method for the any property. |
286 | * |
287 | * <p> |
288 | * For example, to add a new item, do as follows: |
289 | * <pre> |
290 | * getAny().add(newItem); |
291 | * </pre> |
292 | * |
293 | * |
294 | * <p> |
295 | * Objects of the following type(s) are allowed in the list |
296 | * {@link Element } |
297 | * {@link Object } |
298 | * |
299 | * |
300 | */ |
301 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
302 | public List<Object> getAny() { |
303 | if (any == null) { |
304 | any = new ArrayList<Object>(); |
305 | } |
306 | return this.any; |
307 | } |
308 | |
309 | /** |
310 | * The identifier of this instance. |
311 | * |
312 | * @return |
313 | * possible object is |
314 | * {@link String } |
315 | * |
316 | */ |
317 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
318 | public String getIdentifier() { |
319 | return identifier; |
320 | } |
321 | |
322 | /** |
323 | * Sets the value of the identifier property. |
324 | * |
325 | * @param value |
326 | * allowed object is |
327 | * {@link String } |
328 | * |
329 | */ |
330 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
331 | public void setIdentifier(String value) { |
332 | this.identifier = value; |
333 | } |
334 | |
335 | /** |
336 | * The name of the implementation of the specifications implemented by this instance. |
337 | * |
338 | * @return |
339 | * possible object is |
340 | * {@link String } |
341 | * |
342 | */ |
343 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
344 | public String getName() { |
345 | return name; |
346 | } |
347 | |
348 | /** |
349 | * Sets the value of the name property. |
350 | * |
351 | * @param value |
352 | * allowed object is |
353 | * {@link String } |
354 | * |
355 | */ |
356 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
357 | public void setName(String value) { |
358 | this.name = value; |
359 | } |
360 | |
361 | /** |
362 | * The identifier of the class of this instance. |
363 | * |
364 | * @return |
365 | * possible object is |
366 | * {@link String } |
367 | * |
368 | */ |
369 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
370 | public String getClazz() { |
371 | return clazz; |
372 | } |
373 | |
374 | /** |
375 | * Sets the value of the clazz property. |
376 | * |
377 | * @param value |
378 | * allowed object is |
379 | * {@link String } |
380 | * |
381 | */ |
382 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
383 | public void setClazz(String value) { |
384 | this.clazz = value; |
385 | } |
386 | |
387 | /** |
388 | * {@code true} if this instance does not retain state across operations. |
389 | * |
390 | * @return |
391 | * possible object is |
392 | * {@link Boolean } |
393 | * |
394 | */ |
395 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
396 | public boolean isStateless() { |
397 | if (stateless == null) { |
398 | return false; |
399 | } else { |
400 | return stateless; |
401 | } |
402 | } |
403 | |
404 | /** |
405 | * Sets the value of the stateless property. |
406 | * |
407 | * @param value |
408 | * allowed object is |
409 | * {@link Boolean } |
410 | * |
411 | */ |
412 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
413 | public void setStateless(Boolean value) { |
414 | this.stateless = value; |
415 | } |
416 | |
417 | /** |
418 | * Copies all values of property {@code Any} deeply. |
419 | * |
420 | * @param target |
421 | * The target to copy {@code source} to. |
422 | * @param source |
423 | * The source to copy from. |
424 | * @throws NullPointerException |
425 | * if {@code source} or {@code target} is {@code null}. |
426 | */ |
427 | @SuppressWarnings("unchecked") |
428 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
429 | private static void copyAny(final List<Object> source, final List<Object> target) { |
430 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
431 | if (!source.isEmpty()) { |
432 | for (Iterator it = source.iterator(); it.hasNext(); ) { |
433 | final Object next = it.next(); |
434 | if (next instanceof Element) { |
435 | // CWildcardTypeInfo: org.w3c.dom.Element |
436 | target.add(((Element)((Element) next).cloneNode(true))); |
437 | continue; |
438 | } |
439 | if (next instanceof Object) { |
440 | // CBuiltinLeafInfo: java.lang.Object |
441 | target.add(copyOfObject(((Object) next))); |
442 | continue; |
443 | } |
444 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
445 | throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Instance'.")); |
446 | } |
447 | } |
448 | } |
449 | |
450 | /** |
451 | * Creates and returns a deep copy of a given object. |
452 | * |
453 | * @param o |
454 | * The instance to copy or {@code null}. |
455 | * @return |
456 | * A deep copy of {@code o} or {@code null} if {@code o} is {@code null}. |
457 | */ |
458 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
459 | private static Object copyOfObject(final Object o) { |
460 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
461 | if (o!= null) { |
462 | if (o.getClass().isPrimitive()) { |
463 | return o; |
464 | } |
465 | if (o.getClass().isArray()) { |
466 | return copyOfArray(o); |
467 | } |
468 | if (o instanceof Boolean) { |
469 | return o; |
470 | } |
471 | if (o instanceof Byte) { |
472 | return o; |
473 | } |
474 | if (o instanceof Character) { |
475 | return o; |
476 | } |
477 | if (o instanceof Double) { |
478 | return o; |
479 | } |
480 | if (o instanceof Enum) { |
481 | return o; |
482 | } |
483 | if (o instanceof Float) { |
484 | return o; |
485 | } |
486 | if (o instanceof Integer) { |
487 | return o; |
488 | } |
489 | if (o instanceof Long) { |
490 | return o; |
491 | } |
492 | if (o instanceof Short) { |
493 | return o; |
494 | } |
495 | if (o instanceof String) { |
496 | return o; |
497 | } |
498 | if (o instanceof BigDecimal) { |
499 | return o; |
500 | } |
501 | if (o instanceof BigInteger) { |
502 | return o; |
503 | } |
504 | if (o instanceof UUID) { |
505 | return o; |
506 | } |
507 | if (o instanceof QName) { |
508 | return o; |
509 | } |
510 | if (o instanceof Duration) { |
511 | return o; |
512 | } |
513 | if (o instanceof Currency) { |
514 | return o; |
515 | } |
516 | if (o instanceof XMLGregorianCalendar) { |
517 | return ((XMLGregorianCalendar) o).clone(); |
518 | } |
519 | if (o instanceof Date) { |
520 | return ((Date) o).clone(); |
521 | } |
522 | if (o instanceof Calendar) { |
523 | return ((Calendar) o).clone(); |
524 | } |
525 | if (o instanceof TimeZone) { |
526 | return ((TimeZone) o).clone(); |
527 | } |
528 | if (o instanceof Locale) { |
529 | return ((Locale) o).clone(); |
530 | } |
531 | if (o instanceof Element) { |
532 | return ((Element)((Element) o).cloneNode(true)); |
533 | } |
534 | if (o instanceof JAXBElement) { |
535 | return copyOFJAXBElement(((JAXBElement) o)); |
536 | } |
537 | try { |
538 | return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null)); |
539 | } catch (NoSuchMethodException e) { |
540 | if (o instanceof Serializable) { |
541 | return copyOfSerializable(((Serializable) o)); |
542 | } |
543 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
544 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
545 | } catch (IllegalAccessException e) { |
546 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
547 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
548 | } catch (InvocationTargetException e) { |
549 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
550 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
551 | } catch (SecurityException e) { |
552 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
553 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
554 | } catch (IllegalArgumentException e) { |
555 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
556 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
557 | } catch (ExceptionInInitializerError e) { |
558 | // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ |
559 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e)); |
560 | } |
561 | } |
562 | return null; |
563 | } |
564 | |
565 | /** |
566 | * Creates and returns a deep copy of a given array. |
567 | * |
568 | * @param array |
569 | * The array to copy or {@code null}. |
570 | * @return |
571 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
572 | */ |
573 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
574 | private static Object copyOfArray(final Object array) { |
575 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
576 | if (array!= null) { |
577 | if (array.getClass() == boolean[].class) { |
578 | return copyOf(((boolean[]) array)); |
579 | } |
580 | if (array.getClass() == byte[].class) { |
581 | return copyOf(((byte[]) array)); |
582 | } |
583 | if (array.getClass() == char[].class) { |
584 | return copyOf(((char[]) array)); |
585 | } |
586 | if (array.getClass() == double[].class) { |
587 | return copyOf(((double[]) array)); |
588 | } |
589 | if (array.getClass() == float[].class) { |
590 | return copyOf(((float[]) array)); |
591 | } |
592 | if (array.getClass() == int[].class) { |
593 | return copyOf(((int[]) array)); |
594 | } |
595 | if (array.getClass() == long[].class) { |
596 | return copyOf(((long[]) array)); |
597 | } |
598 | if (array.getClass() == short[].class) { |
599 | return copyOf(((short[]) array)); |
600 | } |
601 | final int len = Array.getLength(array); |
602 | final Object copy = Array.newInstance(array.getClass().getComponentType(), len); |
603 | for (int i = (len- 1); (i >= 0); i--) { |
604 | Array.set(copy, i, copyOfObject(Array.get(array, i))); |
605 | } |
606 | return copy; |
607 | } |
608 | return null; |
609 | } |
610 | |
611 | /** |
612 | * Creates and returns a deep copy of a given array. |
613 | * |
614 | * @param array |
615 | * The array to copy or {@code null}. |
616 | * @return |
617 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
618 | */ |
619 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
620 | private static boolean[] copyOf(final boolean[] array) { |
621 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
622 | if (array!= null) { |
623 | final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
624 | System.arraycopy(array, 0, copy, 0, array.length); |
625 | return copy; |
626 | } |
627 | return null; |
628 | } |
629 | |
630 | /** |
631 | * Creates and returns a deep copy of a given array. |
632 | * |
633 | * @param array |
634 | * The array to copy or {@code null}. |
635 | * @return |
636 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
637 | */ |
638 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
639 | private static byte[] copyOf(final byte[] array) { |
640 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
641 | if (array!= null) { |
642 | final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
643 | System.arraycopy(array, 0, copy, 0, array.length); |
644 | return copy; |
645 | } |
646 | return null; |
647 | } |
648 | |
649 | /** |
650 | * Creates and returns a deep copy of a given array. |
651 | * |
652 | * @param array |
653 | * The array to copy or {@code null}. |
654 | * @return |
655 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
656 | */ |
657 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
658 | private static char[] copyOf(final char[] array) { |
659 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
660 | if (array!= null) { |
661 | final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
662 | System.arraycopy(array, 0, copy, 0, array.length); |
663 | return copy; |
664 | } |
665 | return null; |
666 | } |
667 | |
668 | /** |
669 | * Creates and returns a deep copy of a given array. |
670 | * |
671 | * @param array |
672 | * The array to copy or {@code null}. |
673 | * @return |
674 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
675 | */ |
676 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
677 | private static double[] copyOf(final double[] array) { |
678 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
679 | if (array!= null) { |
680 | final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
681 | System.arraycopy(array, 0, copy, 0, array.length); |
682 | return copy; |
683 | } |
684 | return null; |
685 | } |
686 | |
687 | /** |
688 | * Creates and returns a deep copy of a given array. |
689 | * |
690 | * @param array |
691 | * The array to copy or {@code null}. |
692 | * @return |
693 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
694 | */ |
695 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
696 | private static float[] copyOf(final float[] array) { |
697 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
698 | if (array!= null) { |
699 | final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
700 | System.arraycopy(array, 0, copy, 0, array.length); |
701 | return copy; |
702 | } |
703 | return null; |
704 | } |
705 | |
706 | /** |
707 | * Creates and returns a deep copy of a given array. |
708 | * |
709 | * @param array |
710 | * The array to copy or {@code null}. |
711 | * @return |
712 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
713 | */ |
714 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
715 | private static int[] copyOf(final int[] array) { |
716 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
717 | if (array!= null) { |
718 | final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
719 | System.arraycopy(array, 0, copy, 0, array.length); |
720 | return copy; |
721 | } |
722 | return null; |
723 | } |
724 | |
725 | /** |
726 | * Creates and returns a deep copy of a given array. |
727 | * |
728 | * @param array |
729 | * The array to copy or {@code null}. |
730 | * @return |
731 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
732 | */ |
733 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
734 | private static long[] copyOf(final long[] array) { |
735 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
736 | if (array!= null) { |
737 | final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
738 | System.arraycopy(array, 0, copy, 0, array.length); |
739 | return copy; |
740 | } |
741 | return null; |
742 | } |
743 | |
744 | /** |
745 | * Creates and returns a deep copy of a given array. |
746 | * |
747 | * @param array |
748 | * The array to copy or {@code null}. |
749 | * @return |
750 | * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}. |
751 | */ |
752 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
753 | private static short[] copyOf(final short[] array) { |
754 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
755 | if (array!= null) { |
756 | final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length)); |
757 | System.arraycopy(array, 0, copy, 0, array.length); |
758 | return copy; |
759 | } |
760 | return null; |
761 | } |
762 | |
763 | /** |
764 | * Creates and returns a deep copy of a given {@code JAXBElement} instance. |
765 | * |
766 | * @param element |
767 | * The instance to copy or {@code null}. |
768 | * @return |
769 | * A deep copy of {@code element} or {@code null} if {@code element} is {@code null}. |
770 | */ |
771 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
772 | private static JAXBElement copyOFJAXBElement(final JAXBElement element) { |
773 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
774 | if (element!= null) { |
775 | final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue()); |
776 | copy.setNil(element.isNil()); |
777 | copy.setValue(copyOfObject(copy.getValue())); |
778 | return copy; |
779 | } |
780 | return null; |
781 | } |
782 | |
783 | /** |
784 | * Creates and returns a deep copy of a given {@code Serializable}. |
785 | * |
786 | * @param serializable |
787 | * The instance to copy or {@code null}. |
788 | * @return |
789 | * A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}. |
790 | */ |
791 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
792 | private static Serializable copyOfSerializable(final Serializable serializable) { |
793 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
794 | if (serializable!= null) { |
795 | try { |
796 | final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream(); |
797 | final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput); |
798 | out.writeObject(serializable); |
799 | out.close(); |
800 | final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray()); |
801 | final ObjectInputStream in = new ObjectInputStream(byteArrayInput); |
802 | final Serializable copy = ((Serializable) in.readObject()); |
803 | in.close(); |
804 | return copy; |
805 | } catch (SecurityException e) { |
806 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
807 | } catch (ClassNotFoundException e) { |
808 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
809 | } catch (InvalidClassException e) { |
810 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
811 | } catch (NotSerializableException e) { |
812 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
813 | } catch (StreamCorruptedException e) { |
814 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
815 | } catch (OptionalDataException e) { |
816 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
817 | } catch (IOException e) { |
818 | throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e)); |
819 | } |
820 | } |
821 | return null; |
822 | } |
823 | |
824 | /** |
825 | * Creates and returns a deep copy of this object. |
826 | * |
827 | * |
828 | * @return |
829 | * A deep copy of this object. |
830 | */ |
831 | @Override |
832 | @Generated(value = "com.sun.tools.xjc.Driver", date = "2010-01-19T05:54:28+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") |
833 | public Instance clone() { |
834 | // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 |
835 | return new Instance(this); |
836 | } |
837 | |
838 | /** Maps dependency names to dependency objects. */ |
839 | @javax.xml.bind.annotation.XmlTransient private java.util.Map<String, Object> dependencyObjects; |
840 | |
841 | /** Maps property names to property objects. */ |
842 | @javax.xml.bind.annotation.XmlTransient private java.util.Map<String, Object> propertyObjects; |
843 | |
844 | /** |
845 | * Gets a mapping of dependency names to objects bound to the instance. |
846 | * |
847 | * @return A mapping of dependency names to objects bound to the instance. |
848 | */ |
849 | public java.util.Map<String, Object> getDependencyObjects() |
850 | { |
851 | if ( this.dependencyObjects == null ) |
852 | { |
853 | this.dependencyObjects = new java.util.HashMap<String, Object>(); |
854 | } |
855 | |
856 | return this.dependencyObjects; |
857 | } |
858 | |
859 | /** |
860 | * Gets a mapping of property names to objects bound to the instance. |
861 | * |
862 | * @return A mapping of property names to objects bound to the instance. |
863 | */ |
864 | public java.util.Map<String, Object> getPropertyObjects() |
865 | { |
866 | if ( this.propertyObjects == null ) |
867 | { |
868 | this.propertyObjects = new java.util.HashMap<String, Object>(); |
869 | } |
870 | |
871 | return this.propertyObjects; |
872 | } |
873 | |
874 | |
875 | } |