001 //
002 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833
003 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
004 // Any modifications to this file will be lost upon recompilation of the source schema.
005 // Generated on: 2009.12.07 at 03:06:36 AM UTC
006 //
007
008
009 package org.jomc.model;
010
011 import java.io.ByteArrayInputStream;
012 import java.io.ByteArrayOutputStream;
013 import java.io.IOException;
014 import java.io.InvalidClassException;
015 import java.io.NotSerializableException;
016 import java.io.ObjectInputStream;
017 import java.io.ObjectOutputStream;
018 import java.io.OptionalDataException;
019 import java.io.Serializable;
020 import java.io.StreamCorruptedException;
021 import java.lang.reflect.Array;
022 import java.lang.reflect.InvocationTargetException;
023 import java.math.BigDecimal;
024 import java.math.BigInteger;
025 import java.util.ArrayList;
026 import java.util.Calendar;
027 import java.util.Currency;
028 import java.util.Date;
029 import java.util.Iterator;
030 import java.util.List;
031 import java.util.Locale;
032 import java.util.TimeZone;
033 import java.util.UUID;
034 import javax.annotation.Generated;
035 import javax.xml.bind.JAXBElement;
036 import javax.xml.bind.annotation.XmlAccessType;
037 import javax.xml.bind.annotation.XmlAccessorType;
038 import javax.xml.bind.annotation.XmlAnyElement;
039 import javax.xml.bind.annotation.XmlAttribute;
040 import javax.xml.bind.annotation.XmlType;
041 import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
042 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
043 import javax.xml.datatype.Duration;
044 import javax.xml.datatype.XMLGregorianCalendar;
045 import javax.xml.namespace.QName;
046 import org.w3c.dom.Element;
047
048
049 /**
050 *
051 * Model of a module.
052 *
053 * The 'Module' type defines attributes 'name', 'version' and 'vendor'. Attribute 'name' holds the name of the module
054 * uniquely identifying the module in a set of modules. Attribute 'vendor' holds information regarding the vendor of the
055 * module. Attribute 'version' holds the version of the module.
056 *
057 * A module defines implementations, messages, properties and specifications.
058 *
059 *
060 * <p>Java class for Module complex type.
061 *
062 * <p>The following schema fragment specifies the expected content contained within this class.
063 *
064 * <pre>
065 * <complexType name="Module">
066 * <complexContent>
067 * <extension base="{http://jomc.org/model}ModelObject">
068 * <sequence>
069 * <element ref="{http://jomc.org/model}specifications" minOccurs="0"/>
070 * <element ref="{http://jomc.org/model}implementations" minOccurs="0"/>
071 * <element ref="{http://jomc.org/model}properties" minOccurs="0"/>
072 * <element ref="{http://jomc.org/model}messages" minOccurs="0"/>
073 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
074 * </sequence>
075 * <attribute name="name" use="required" type="{http://jomc.org/model}Identifier" />
076 * <attribute name="version" type="{http://jomc.org/model}Version" />
077 * <attribute name="vendor" type="{http://jomc.org/model}String" />
078 * </extension>
079 * </complexContent>
080 * </complexType>
081 * </pre>
082 *
083 *
084 */
085 @XmlAccessorType(XmlAccessType.FIELD)
086 @XmlType(name = "Module", propOrder = {
087 "specifications",
088 "implementations",
089 "properties",
090 "messages",
091 "any"
092 })
093 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
094 public class Module
095 extends ModelObject
096 implements Cloneable
097 {
098
099 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
100 protected Specifications specifications;
101 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
102 protected Implementations implementations;
103 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
104 protected Properties properties;
105 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
106 protected Messages messages;
107 @XmlAnyElement(lax = true)
108 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
109 protected List<Object> any;
110 @XmlAttribute(required = true)
111 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
112 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
113 protected String name;
114 @XmlAttribute
115 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
116 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
117 protected String version;
118 @XmlAttribute
119 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
120 protected String vendor;
121
122 /**
123 * Creates a new {@code Module} instance.
124 *
125 */
126 public Module() {
127 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
128 super();
129 }
130
131 /**
132 * Creates a new {@code Module} instance by deeply copying a given {@code Module} instance.
133 *
134 *
135 * @param o
136 * The instance to copy.
137 * @throws NullPointerException
138 * if {@code o} is {@code null}.
139 */
140 public Module(final Module o) {
141 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
142 super(o);
143 if (o == null) {
144 throw new NullPointerException("Cannot create a copy of 'Module' from 'null'.");
145 }
146 // CClassInfo: org.jomc.model.Specifications
147 this.specifications = ((o.getSpecifications() == null)?null:o.getSpecifications().clone());
148 // CClassInfo: org.jomc.model.Implementations
149 this.implementations = ((o.getImplementations() == null)?null:o.getImplementations().clone());
150 // CClassInfo: org.jomc.model.Properties
151 this.properties = ((o.getProperties() == null)?null:o.getProperties().clone());
152 // CClassInfo: org.jomc.model.Messages
153 this.messages = ((o.getMessages() == null)?null:o.getMessages().clone());
154 // 'Any' collection.
155 copyAny(o.getAny(), getAny());
156 // CBuiltinLeafInfo: java.lang.String
157 this.name = o.getName();
158 // CBuiltinLeafInfo: java.lang.String
159 this.version = o.getVersion();
160 // CBuiltinLeafInfo: java.lang.String
161 this.vendor = o.getVendor();
162 }
163
164 /**
165 * Specifications of this module or {@code null}.
166 *
167 * @return
168 * possible object is
169 * {@link Specifications }
170 *
171 */
172 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
173 public Specifications getSpecifications() {
174 return specifications;
175 }
176
177 /**
178 * Sets the value of the specifications property.
179 *
180 * @param value
181 * allowed object is
182 * {@link Specifications }
183 *
184 */
185 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
186 public void setSpecifications(Specifications value) {
187 this.specifications = value;
188 }
189
190 /**
191 * Implementations of this module or {@code null}.
192 *
193 * @return
194 * possible object is
195 * {@link Implementations }
196 *
197 */
198 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
199 public Implementations getImplementations() {
200 return implementations;
201 }
202
203 /**
204 * Sets the value of the implementations property.
205 *
206 * @param value
207 * allowed object is
208 * {@link Implementations }
209 *
210 */
211 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
212 public void setImplementations(Implementations value) {
213 this.implementations = value;
214 }
215
216 /**
217 * Properties of this module or {@code null}.
218 *
219 * @return
220 * possible object is
221 * {@link Properties }
222 *
223 */
224 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
225 public Properties getProperties() {
226 return properties;
227 }
228
229 /**
230 * Sets the value of the properties property.
231 *
232 * @param value
233 * allowed object is
234 * {@link Properties }
235 *
236 */
237 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
238 public void setProperties(Properties value) {
239 this.properties = value;
240 }
241
242 /**
243 * Messages of this module or {@code null}.
244 *
245 * @return
246 * possible object is
247 * {@link Messages }
248 *
249 */
250 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
251 public Messages getMessages() {
252 return messages;
253 }
254
255 /**
256 * Sets the value of the messages property.
257 *
258 * @param value
259 * allowed object is
260 * {@link Messages }
261 *
262 */
263 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
264 public void setMessages(Messages value) {
265 this.messages = value;
266 }
267
268 /**
269 * Gets the value of the any property.
270 *
271 * <p>
272 * This accessor method returns a reference to the live list,
273 * not a snapshot. Therefore any modification you make to the
274 * returned list will be present inside the JAXB object.
275 * This is why there is not a <CODE>set</CODE> method for the any property.
276 *
277 * <p>
278 * For example, to add a new item, do as follows:
279 * <pre>
280 * getAny().add(newItem);
281 * </pre>
282 *
283 *
284 * <p>
285 * Objects of the following type(s) are allowed in the list
286 * {@link Element }
287 * {@link Object }
288 *
289 *
290 */
291 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
292 public List<Object> getAny() {
293 if (any == null) {
294 any = new ArrayList<Object>();
295 }
296 return this.any;
297 }
298
299 /**
300 * Name of this module.
301 *
302 * @return
303 * possible object is
304 * {@link String }
305 *
306 */
307 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
308 public String getName() {
309 return name;
310 }
311
312 /**
313 * Sets the value of the name property.
314 *
315 * @param value
316 * allowed object is
317 * {@link String }
318 *
319 */
320 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
321 public void setName(String value) {
322 this.name = value;
323 }
324
325 /**
326 * Version of this module or {@code null}.
327 *
328 * @return
329 * possible object is
330 * {@link String }
331 *
332 */
333 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
334 public String getVersion() {
335 return version;
336 }
337
338 /**
339 * Sets the value of the version property.
340 *
341 * @param value
342 * allowed object is
343 * {@link String }
344 *
345 */
346 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
347 public void setVersion(String value) {
348 this.version = value;
349 }
350
351 /**
352 * Vendor of this module or {@code null}.
353 *
354 * @return
355 * possible object is
356 * {@link String }
357 *
358 */
359 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
360 public String getVendor() {
361 return vendor;
362 }
363
364 /**
365 * Sets the value of the vendor property.
366 *
367 * @param value
368 * allowed object is
369 * {@link String }
370 *
371 */
372 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
373 public void setVendor(String value) {
374 this.vendor = value;
375 }
376
377 /**
378 * Copies all values of property {@code Any} deeply.
379 *
380 * @param target
381 * The target to copy {@code source} to.
382 * @param source
383 * The source to copy from.
384 * @throws NullPointerException
385 * if {@code source} or {@code target} is {@code null}.
386 */
387 @SuppressWarnings("unchecked")
388 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
389 private static void copyAny(final List<Object> source, final List<Object> target) {
390 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
391 if (!source.isEmpty()) {
392 for (Iterator it = source.iterator(); it.hasNext(); ) {
393 final Object next = it.next();
394 if (next instanceof Element) {
395 // CWildcardTypeInfo: org.w3c.dom.Element
396 target.add(((Element)((Element) next).cloneNode(true)));
397 continue;
398 }
399 if (next instanceof Object) {
400 // CBuiltinLeafInfo: java.lang.Object
401 target.add(copyOfObject(((Object) next)));
402 continue;
403 }
404 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
405 throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Module'."));
406 }
407 }
408 }
409
410 /**
411 * Creates and returns a deep copy of a given object.
412 *
413 * @param o
414 * The instance to copy or {@code null}.
415 * @return
416 * A deep copy of {@code o} or {@code null} if {@code o} is {@code null}.
417 */
418 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
419 private static Object copyOfObject(final Object o) {
420 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
421 if (o!= null) {
422 if (o.getClass().isPrimitive()) {
423 return o;
424 }
425 if (o.getClass().isArray()) {
426 return copyOfArray(o);
427 }
428 if (o instanceof Boolean) {
429 return o;
430 }
431 if (o instanceof Byte) {
432 return o;
433 }
434 if (o instanceof Character) {
435 return o;
436 }
437 if (o instanceof Double) {
438 return o;
439 }
440 if (o instanceof Enum) {
441 return o;
442 }
443 if (o instanceof Float) {
444 return o;
445 }
446 if (o instanceof Integer) {
447 return o;
448 }
449 if (o instanceof Long) {
450 return o;
451 }
452 if (o instanceof Short) {
453 return o;
454 }
455 if (o instanceof String) {
456 return o;
457 }
458 if (o instanceof BigDecimal) {
459 return o;
460 }
461 if (o instanceof BigInteger) {
462 return o;
463 }
464 if (o instanceof UUID) {
465 return o;
466 }
467 if (o instanceof QName) {
468 return o;
469 }
470 if (o instanceof Duration) {
471 return o;
472 }
473 if (o instanceof Currency) {
474 return o;
475 }
476 if (o instanceof XMLGregorianCalendar) {
477 return ((XMLGregorianCalendar) o).clone();
478 }
479 if (o instanceof Date) {
480 return ((Date) o).clone();
481 }
482 if (o instanceof Calendar) {
483 return ((Calendar) o).clone();
484 }
485 if (o instanceof TimeZone) {
486 return ((TimeZone) o).clone();
487 }
488 if (o instanceof Locale) {
489 return ((Locale) o).clone();
490 }
491 if (o instanceof Element) {
492 return ((Element)((Element) o).cloneNode(true));
493 }
494 if (o instanceof JAXBElement) {
495 return copyOFJAXBElement(((JAXBElement) o));
496 }
497 try {
498 return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
499 } catch (NoSuchMethodException e) {
500 if (o instanceof Serializable) {
501 return copyOfSerializable(((Serializable) o));
502 }
503 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
504 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
505 } catch (IllegalAccessException e) {
506 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
507 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
508 } catch (InvocationTargetException e) {
509 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
510 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
511 } catch (SecurityException e) {
512 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
513 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
514 } catch (IllegalArgumentException e) {
515 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
516 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
517 } catch (ExceptionInInitializerError e) {
518 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
519 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
520 }
521 }
522 return null;
523 }
524
525 /**
526 * Creates and returns a deep copy of a given array.
527 *
528 * @param array
529 * The array to copy or {@code null}.
530 * @return
531 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
532 */
533 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
534 private static Object copyOfArray(final Object array) {
535 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
536 if (array!= null) {
537 if (array.getClass() == boolean[].class) {
538 return copyOf(((boolean[]) array));
539 }
540 if (array.getClass() == byte[].class) {
541 return copyOf(((byte[]) array));
542 }
543 if (array.getClass() == char[].class) {
544 return copyOf(((char[]) array));
545 }
546 if (array.getClass() == double[].class) {
547 return copyOf(((double[]) array));
548 }
549 if (array.getClass() == float[].class) {
550 return copyOf(((float[]) array));
551 }
552 if (array.getClass() == int[].class) {
553 return copyOf(((int[]) array));
554 }
555 if (array.getClass() == long[].class) {
556 return copyOf(((long[]) array));
557 }
558 if (array.getClass() == short[].class) {
559 return copyOf(((short[]) array));
560 }
561 final int len = Array.getLength(array);
562 final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
563 for (int i = (len- 1); (i >= 0); i--) {
564 Array.set(copy, i, copyOfObject(Array.get(array, i)));
565 }
566 return copy;
567 }
568 return null;
569 }
570
571 /**
572 * Creates and returns a deep copy of a given array.
573 *
574 * @param array
575 * The array to copy or {@code null}.
576 * @return
577 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
578 */
579 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
580 private static boolean[] copyOf(final boolean[] array) {
581 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
582 if (array!= null) {
583 final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
584 System.arraycopy(array, 0, copy, 0, array.length);
585 return copy;
586 }
587 return null;
588 }
589
590 /**
591 * Creates and returns a deep copy of a given array.
592 *
593 * @param array
594 * The array to copy or {@code null}.
595 * @return
596 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
597 */
598 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
599 private static byte[] copyOf(final byte[] array) {
600 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
601 if (array!= null) {
602 final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
603 System.arraycopy(array, 0, copy, 0, array.length);
604 return copy;
605 }
606 return null;
607 }
608
609 /**
610 * Creates and returns a deep copy of a given array.
611 *
612 * @param array
613 * The array to copy or {@code null}.
614 * @return
615 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
616 */
617 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
618 private static char[] copyOf(final char[] array) {
619 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
620 if (array!= null) {
621 final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
622 System.arraycopy(array, 0, copy, 0, array.length);
623 return copy;
624 }
625 return null;
626 }
627
628 /**
629 * Creates and returns a deep copy of a given array.
630 *
631 * @param array
632 * The array to copy or {@code null}.
633 * @return
634 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
635 */
636 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
637 private static double[] copyOf(final double[] array) {
638 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
639 if (array!= null) {
640 final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
641 System.arraycopy(array, 0, copy, 0, array.length);
642 return copy;
643 }
644 return null;
645 }
646
647 /**
648 * Creates and returns a deep copy of a given array.
649 *
650 * @param array
651 * The array to copy or {@code null}.
652 * @return
653 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
654 */
655 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
656 private static float[] copyOf(final float[] array) {
657 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
658 if (array!= null) {
659 final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
660 System.arraycopy(array, 0, copy, 0, array.length);
661 return copy;
662 }
663 return null;
664 }
665
666 /**
667 * Creates and returns a deep copy of a given array.
668 *
669 * @param array
670 * The array to copy or {@code null}.
671 * @return
672 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
673 */
674 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
675 private static int[] copyOf(final int[] array) {
676 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
677 if (array!= null) {
678 final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
679 System.arraycopy(array, 0, copy, 0, array.length);
680 return copy;
681 }
682 return null;
683 }
684
685 /**
686 * Creates and returns a deep copy of a given array.
687 *
688 * @param array
689 * The array to copy or {@code null}.
690 * @return
691 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
692 */
693 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
694 private static long[] copyOf(final long[] array) {
695 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
696 if (array!= null) {
697 final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
698 System.arraycopy(array, 0, copy, 0, array.length);
699 return copy;
700 }
701 return null;
702 }
703
704 /**
705 * Creates and returns a deep copy of a given array.
706 *
707 * @param array
708 * The array to copy or {@code null}.
709 * @return
710 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
711 */
712 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
713 private static short[] copyOf(final short[] array) {
714 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
715 if (array!= null) {
716 final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
717 System.arraycopy(array, 0, copy, 0, array.length);
718 return copy;
719 }
720 return null;
721 }
722
723 /**
724 * Creates and returns a deep copy of a given {@code JAXBElement} instance.
725 *
726 * @param element
727 * The instance to copy or {@code null}.
728 * @return
729 * A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
730 */
731 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
732 private static JAXBElement copyOFJAXBElement(final JAXBElement element) {
733 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
734 if (element!= null) {
735 final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
736 copy.setNil(element.isNil());
737 copy.setValue(copyOfObject(copy.getValue()));
738 return copy;
739 }
740 return null;
741 }
742
743 /**
744 * Creates and returns a deep copy of a given {@code Serializable}.
745 *
746 * @param serializable
747 * The instance to copy or {@code null}.
748 * @return
749 * A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
750 */
751 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
752 private static Serializable copyOfSerializable(final Serializable serializable) {
753 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
754 if (serializable!= null) {
755 try {
756 final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
757 final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
758 out.writeObject(serializable);
759 out.close();
760 final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
761 final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
762 final Serializable copy = ((Serializable) in.readObject());
763 in.close();
764 return copy;
765 } catch (SecurityException e) {
766 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
767 } catch (ClassNotFoundException e) {
768 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
769 } catch (InvalidClassException e) {
770 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
771 } catch (NotSerializableException e) {
772 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
773 } catch (StreamCorruptedException e) {
774 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
775 } catch (OptionalDataException e) {
776 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
777 } catch (IOException e) {
778 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
779 }
780 }
781 return null;
782 }
783
784 /**
785 * Creates and returns a deep copy of this object.
786 *
787 *
788 * @return
789 * A deep copy of this object.
790 */
791 @Override
792 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
793 public Module clone() {
794 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
795 return new Module(this);
796 }
797
798 }