001 //
002 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2
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: 2012.02.17 at 01:46:51 AM CET
006 //
007
008
009 package org.jomc.tools.model;
010
011 import java.io.ByteArrayInputStream;
012 import java.io.ByteArrayOutputStream;
013 import java.io.File;
014 import java.io.IOException;
015 import java.io.InvalidClassException;
016 import java.io.NotSerializableException;
017 import java.io.ObjectInputStream;
018 import java.io.ObjectOutputStream;
019 import java.io.OptionalDataException;
020 import java.io.Serializable;
021 import java.io.StreamCorruptedException;
022 import java.lang.reflect.Array;
023 import java.lang.reflect.InvocationTargetException;
024 import java.math.BigDecimal;
025 import java.math.BigInteger;
026 import java.net.MalformedURLException;
027 import java.net.URI;
028 import java.net.URISyntaxException;
029 import java.net.URL;
030 import java.util.ArrayList;
031 import java.util.Calendar;
032 import java.util.Currency;
033 import java.util.Date;
034 import java.util.Iterator;
035 import java.util.List;
036 import java.util.Locale;
037 import java.util.TimeZone;
038 import java.util.UUID;
039 import javax.activation.MimeType;
040 import javax.activation.MimeTypeParseException;
041 import javax.annotation.Generated;
042 import javax.xml.bind.JAXBElement;
043 import javax.xml.bind.annotation.XmlAccessType;
044 import javax.xml.bind.annotation.XmlAccessorType;
045 import javax.xml.bind.annotation.XmlAnyElement;
046 import javax.xml.bind.annotation.XmlAttribute;
047 import javax.xml.bind.annotation.XmlElement;
048 import javax.xml.bind.annotation.XmlType;
049 import javax.xml.datatype.Duration;
050 import javax.xml.datatype.XMLGregorianCalendar;
051 import javax.xml.namespace.QName;
052 import org.jomc.model.Inheritable;
053 import org.w3c.dom.Element;
054
055
056 /**
057 * Model of a source code file.
058 *
059 * <p>Java class for SourceFileType complex type.
060 *
061 * <p>The following schema fragment specifies the expected content contained within this class.
062 *
063 * <pre>
064 * <complexType name="SourceFileType">
065 * <complexContent>
066 * <extension base="{http://jomc.org/tools/model}ToolsType">
067 * <sequence>
068 * <element ref="{http://jomc.org/tools/model}source-sections" minOccurs="0"/>
069 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
070 * </sequence>
071 * <attribute name="identifier" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
072 * <attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" />
073 * <attribute name="template" type="{http://www.w3.org/2001/XMLSchema}string" />
074 * <attribute name="head-comment" type="{http://www.w3.org/2001/XMLSchema}string" />
075 * <attribute name="tail-comment" type="{http://www.w3.org/2001/XMLSchema}string" />
076 * <attribute name="final" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
077 * <attribute name="override" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
078 * </extension>
079 * </complexContent>
080 * </complexType>
081 * </pre>
082 *
083 *
084 */
085 @XmlAccessorType(XmlAccessType.FIELD)
086 @XmlType(name = "SourceFileType", namespace = "http://jomc.org/tools/model", propOrder = {
087 "sourceSections",
088 "any"
089 })
090 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
091 public class SourceFileType
092 extends ToolsType
093 implements Cloneable, Inheritable
094 {
095
096 @XmlElement(name = "source-sections", namespace = "http://jomc.org/tools/model")
097 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
098 protected SourceSectionsType sourceSections;
099 @XmlAnyElement(lax = true)
100 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
101 protected List<Object> any;
102 @XmlAttribute(name = "identifier", required = true)
103 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
104 protected String identifier;
105 @XmlAttribute(name = "location")
106 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
107 protected String location;
108 @XmlAttribute(name = "template")
109 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
110 protected String template;
111 @XmlAttribute(name = "head-comment")
112 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
113 protected String headComment;
114 @XmlAttribute(name = "tail-comment")
115 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
116 protected String tailComment;
117 @XmlAttribute(name = "final")
118 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
119 protected Boolean _final;
120 @XmlAttribute(name = "override")
121 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
122 protected Boolean override;
123
124 /**
125 * Creates a new {@code SourceFileType} instance.
126 *
127 */
128 public SourceFileType() {
129 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
130 super();
131 }
132
133 /**
134 * Creates a new {@code SourceFileType} instance by deeply copying a given {@code SourceFileType} instance.
135 *
136 *
137 * @param o
138 * The instance to copy.
139 * @throws NullPointerException
140 * if {@code o} is {@code null}.
141 */
142 public SourceFileType(final SourceFileType o) {
143 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
144 super(o);
145 if (o == null) {
146 throw new NullPointerException("Cannot create a copy of 'SourceFileType' from 'null'.");
147 }
148 // CClassInfo: org.jomc.tools.model.SourceSectionsType
149 this.sourceSections = ((o.sourceSections == null)?null:((o.getSourceSections() == null)?null:o.getSourceSections().clone()));
150 // 'Any' collection.
151 if (o.any!= null) {
152 copyAny(o.getAny(), this.getAny());
153 }
154 // CBuiltinLeafInfo: java.lang.String
155 this.identifier = ((o.identifier == null)?null:o.getIdentifier());
156 // CBuiltinLeafInfo: java.lang.String
157 this.location = ((o.location == null)?null:o.getLocation());
158 // CBuiltinLeafInfo: java.lang.String
159 this.template = ((o.template == null)?null:o.getTemplate());
160 // CBuiltinLeafInfo: java.lang.String
161 this.headComment = ((o.headComment == null)?null:o.getHeadComment());
162 // CBuiltinLeafInfo: java.lang.String
163 this.tailComment = ((o.tailComment == null)?null:o.getTailComment());
164 // CBuiltinLeafInfo: java.lang.Boolean
165 this._final = ((o._final == null)?null:o.isFinal());
166 // CBuiltinLeafInfo: java.lang.Boolean
167 this.override = ((o.override == null)?null:o.isOverride());
168 }
169
170 /**
171 * Sections of the source file.
172 *
173 * @return
174 * possible object is
175 * {@link SourceSectionsType }
176 *
177 */
178 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
179 public SourceSectionsType getSourceSections() {
180 return sourceSections;
181 }
182
183 /**
184 * Sets the value of the sourceSections property.
185 *
186 * @param value
187 * allowed object is
188 * {@link SourceSectionsType }
189 *
190 */
191 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
192 public void setSourceSections(SourceSectionsType value) {
193 this.sourceSections = value;
194 }
195
196 /**
197 * Gets the value of the any property.
198 *
199 * <p>
200 * This accessor method returns a reference to the live list,
201 * not a snapshot. Therefore any modification you make to the
202 * returned list will be present inside the JAXB object.
203 * This is why there is not a <CODE>set</CODE> method for the any property.
204 *
205 * <p>
206 * For example, to add a new item, do as follows:
207 * <pre>
208 * getAny().add(newItem);
209 * </pre>
210 *
211 *
212 * <p>
213 * Objects of the following type(s) are allowed in the list
214 * {@link Element }
215 * {@link Object }
216 *
217 *
218 */
219 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
220 public List<Object> getAny() {
221 if (any == null) {
222 any = new ArrayList<Object>();
223 }
224 return this.any;
225 }
226
227 /**
228 * Gets the value of the identifier property.
229 *
230 * @return
231 * possible object is
232 * {@link String }
233 *
234 */
235 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
236 public String getIdentifier() {
237 return identifier;
238 }
239
240 /**
241 * Sets the value of the identifier property.
242 *
243 * @param value
244 * allowed object is
245 * {@link String }
246 *
247 */
248 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
249 public void setIdentifier(String value) {
250 this.identifier = value;
251 }
252
253 /**
254 * Gets the value of the location property.
255 *
256 * @return
257 * possible object is
258 * {@link String }
259 *
260 */
261 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
262 public String getLocation() {
263 return location;
264 }
265
266 /**
267 * Sets the value of the location property.
268 *
269 * @param value
270 * allowed object is
271 * {@link String }
272 *
273 */
274 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
275 public void setLocation(String value) {
276 this.location = value;
277 }
278
279 /**
280 * Gets the value of the template property.
281 *
282 * @return
283 * possible object is
284 * {@link String }
285 *
286 */
287 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
288 public String getTemplate() {
289 return template;
290 }
291
292 /**
293 * Sets the value of the template property.
294 *
295 * @param value
296 * allowed object is
297 * {@link String }
298 *
299 */
300 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
301 public void setTemplate(String value) {
302 this.template = value;
303 }
304
305 /**
306 * Gets the value of the headComment property.
307 *
308 * @return
309 * possible object is
310 * {@link String }
311 *
312 */
313 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
314 public String getHeadComment() {
315 return headComment;
316 }
317
318 /**
319 * Sets the value of the headComment property.
320 *
321 * @param value
322 * allowed object is
323 * {@link String }
324 *
325 */
326 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
327 public void setHeadComment(String value) {
328 this.headComment = value;
329 }
330
331 /**
332 * Gets the value of the tailComment property.
333 *
334 * @return
335 * possible object is
336 * {@link String }
337 *
338 */
339 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
340 public String getTailComment() {
341 return tailComment;
342 }
343
344 /**
345 * Sets the value of the tailComment property.
346 *
347 * @param value
348 * allowed object is
349 * {@link String }
350 *
351 */
352 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
353 public void setTailComment(String value) {
354 this.tailComment = value;
355 }
356
357 /**
358 * Gets the value of the final property.
359 *
360 * @return
361 * possible object is
362 * {@link Boolean }
363 *
364 */
365 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
366 public boolean isFinal() {
367 if (_final == null) {
368 return false;
369 } else {
370 return _final;
371 }
372 }
373
374 /**
375 * Sets the value of the final property.
376 *
377 * @param value
378 * allowed object is
379 * {@link Boolean }
380 *
381 */
382 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
383 public void setFinal(Boolean value) {
384 this._final = value;
385 }
386
387 /**
388 * Gets the value of the override property.
389 *
390 * @return
391 * possible object is
392 * {@link Boolean }
393 *
394 */
395 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
396 public boolean isOverride() {
397 if (override == null) {
398 return false;
399 } else {
400 return override;
401 }
402 }
403
404 /**
405 * Sets the value of the override property.
406 *
407 * @param value
408 * allowed object is
409 * {@link Boolean }
410 *
411 */
412 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
413 public void setOverride(Boolean value) {
414 this.override = value;
415 }
416
417 /**
418 * Copies all values of property {@code Any} deeply.
419 *
420 * @param source
421 * The source to copy from.
422 * @param target
423 * The target to copy {@code source} to.
424 * @throws NullPointerException
425 * if {@code target} is {@code null}.
426 */
427 @SuppressWarnings("unchecked")
428 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
429 private static void copyAny(final List<Object> source, final List<Object> target) {
430 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
431 if ((source!= null)&&(!source.isEmpty())) {
432 for (final 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(copyOf(((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.tools.model.SourceFileType'."));
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 @SuppressWarnings("unchecked")
459 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
460 private static Object copyOf(final Object o) {
461 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
462 try {
463 if (o!= null) {
464 if (o.getClass().isPrimitive()) {
465 return o;
466 }
467 if (o.getClass().isArray()) {
468 return copyOfArray(o);
469 }
470 // Immutable types.
471 if (o instanceof Boolean) {
472 return o;
473 }
474 if (o instanceof Byte) {
475 return o;
476 }
477 if (o instanceof Character) {
478 return o;
479 }
480 if (o instanceof Double) {
481 return o;
482 }
483 if (o instanceof Enum) {
484 return o;
485 }
486 if (o instanceof Float) {
487 return o;
488 }
489 if (o instanceof Integer) {
490 return o;
491 }
492 if (o instanceof Long) {
493 return o;
494 }
495 if (o instanceof Short) {
496 return o;
497 }
498 if (o instanceof String) {
499 return o;
500 }
501 if (o instanceof BigDecimal) {
502 return o;
503 }
504 if (o instanceof BigInteger) {
505 return o;
506 }
507 if (o instanceof UUID) {
508 return o;
509 }
510 if (o instanceof QName) {
511 return o;
512 }
513 if (o instanceof Duration) {
514 return o;
515 }
516 if (o instanceof Currency) {
517 return o;
518 }
519 // String based types.
520 if (o instanceof File) {
521 return new File(o.toString());
522 }
523 if (o instanceof URI) {
524 return new URI(o.toString());
525 }
526 if (o instanceof URL) {
527 return new URL(o.toString());
528 }
529 if (o instanceof MimeType) {
530 return new MimeType(o.toString());
531 }
532 // Cloneable types.
533 if (o instanceof XMLGregorianCalendar) {
534 return ((XMLGregorianCalendar) o).clone();
535 }
536 if (o instanceof Date) {
537 return ((Date) o).clone();
538 }
539 if (o instanceof Calendar) {
540 return ((Calendar) o).clone();
541 }
542 if (o instanceof TimeZone) {
543 return ((TimeZone) o).clone();
544 }
545 if (o instanceof Locale) {
546 return ((Locale) o).clone();
547 }
548 if (o instanceof Element) {
549 return ((Element)((Element) o).cloneNode(true));
550 }
551 if (o instanceof JAXBElement) {
552 return copyOf(((JAXBElement) o));
553 }
554 try {
555 return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
556 } catch (NoSuchMethodException e) {
557 if (o instanceof Serializable) {
558 return copyOf(((Serializable) o));
559 }
560 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
561 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
562 } catch (IllegalAccessException e) {
563 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
564 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
565 } catch (InvocationTargetException e) {
566 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
567 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
568 } catch (SecurityException e) {
569 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
570 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
571 } catch (IllegalArgumentException e) {
572 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
573 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
574 } catch (ExceptionInInitializerError e) {
575 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
576 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
577 }
578 }
579 return null;
580 } catch (MimeTypeParseException e) {
581 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
582 } catch (MalformedURLException e) {
583 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
584 } catch (URISyntaxException e) {
585 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
586 }
587 }
588
589 /**
590 * Creates and returns a deep copy of a given array.
591 *
592 * @param array
593 * The array to copy or {@code null}.
594 * @return
595 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
596 */
597 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
598 private static Object copyOfArray(final Object array) {
599 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
600 if (array!= null) {
601 if (array.getClass() == boolean[].class) {
602 return copyOf(((boolean[]) array));
603 }
604 if (array.getClass() == byte[].class) {
605 return copyOf(((byte[]) array));
606 }
607 if (array.getClass() == char[].class) {
608 return copyOf(((char[]) array));
609 }
610 if (array.getClass() == double[].class) {
611 return copyOf(((double[]) array));
612 }
613 if (array.getClass() == float[].class) {
614 return copyOf(((float[]) array));
615 }
616 if (array.getClass() == int[].class) {
617 return copyOf(((int[]) array));
618 }
619 if (array.getClass() == long[].class) {
620 return copyOf(((long[]) array));
621 }
622 if (array.getClass() == short[].class) {
623 return copyOf(((short[]) array));
624 }
625 final int len = Array.getLength(array);
626 final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
627 for (int i = (len- 1); (i >= 0); i--) {
628 Array.set(copy, i, copyOf(Array.get(array, i)));
629 }
630 return copy;
631 }
632 return null;
633 }
634
635 /**
636 * Creates and returns a deep copy of a given array.
637 *
638 * @param array
639 * The array to copy or {@code null}.
640 * @return
641 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
642 */
643 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
644 private static boolean[] copyOf(final boolean[] array) {
645 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
646 if (array!= null) {
647 final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
648 System.arraycopy(array, 0, copy, 0, array.length);
649 return copy;
650 }
651 return null;
652 }
653
654 /**
655 * Creates and returns a deep copy of a given array.
656 *
657 * @param array
658 * The array to copy or {@code null}.
659 * @return
660 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
661 */
662 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
663 private static byte[] copyOf(final byte[] array) {
664 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
665 if (array!= null) {
666 final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
667 System.arraycopy(array, 0, copy, 0, array.length);
668 return copy;
669 }
670 return null;
671 }
672
673 /**
674 * Creates and returns a deep copy of a given array.
675 *
676 * @param array
677 * The array to copy or {@code null}.
678 * @return
679 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
680 */
681 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
682 private static char[] copyOf(final char[] array) {
683 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
684 if (array!= null) {
685 final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
686 System.arraycopy(array, 0, copy, 0, array.length);
687 return copy;
688 }
689 return null;
690 }
691
692 /**
693 * Creates and returns a deep copy of a given array.
694 *
695 * @param array
696 * The array to copy or {@code null}.
697 * @return
698 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
699 */
700 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
701 private static double[] copyOf(final double[] array) {
702 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
703 if (array!= null) {
704 final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
705 System.arraycopy(array, 0, copy, 0, array.length);
706 return copy;
707 }
708 return null;
709 }
710
711 /**
712 * Creates and returns a deep copy of a given array.
713 *
714 * @param array
715 * The array to copy or {@code null}.
716 * @return
717 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
718 */
719 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
720 private static float[] copyOf(final float[] array) {
721 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
722 if (array!= null) {
723 final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
724 System.arraycopy(array, 0, copy, 0, array.length);
725 return copy;
726 }
727 return null;
728 }
729
730 /**
731 * Creates and returns a deep copy of a given array.
732 *
733 * @param array
734 * The array to copy or {@code null}.
735 * @return
736 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
737 */
738 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
739 private static int[] copyOf(final int[] array) {
740 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
741 if (array!= null) {
742 final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
743 System.arraycopy(array, 0, copy, 0, array.length);
744 return copy;
745 }
746 return null;
747 }
748
749 /**
750 * Creates and returns a deep copy of a given array.
751 *
752 * @param array
753 * The array to copy or {@code null}.
754 * @return
755 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
756 */
757 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
758 private static long[] copyOf(final long[] array) {
759 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
760 if (array!= null) {
761 final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
762 System.arraycopy(array, 0, copy, 0, array.length);
763 return copy;
764 }
765 return null;
766 }
767
768 /**
769 * Creates and returns a deep copy of a given array.
770 *
771 * @param array
772 * The array to copy or {@code null}.
773 * @return
774 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
775 */
776 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
777 private static short[] copyOf(final short[] array) {
778 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
779 if (array!= null) {
780 final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
781 System.arraycopy(array, 0, copy, 0, array.length);
782 return copy;
783 }
784 return null;
785 }
786
787 /**
788 * Creates and returns a deep copy of a given {@code JAXBElement} instance.
789 *
790 * @param element
791 * The instance to copy or {@code null}.
792 * @return
793 * A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
794 */
795 @SuppressWarnings("unchecked")
796 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
797 private static JAXBElement copyOf(final JAXBElement element) {
798 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
799 if (element!= null) {
800 final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
801 copy.setNil(element.isNil());
802 copy.setValue(copyOf(copy.getValue()));
803 return copy;
804 }
805 return null;
806 }
807
808 /**
809 * Creates and returns a deep copy of a given {@code Serializable}.
810 *
811 * @param serializable
812 * The instance to copy or {@code null}.
813 * @return
814 * A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
815 */
816 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
817 private static Serializable copyOf(final Serializable serializable) {
818 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
819 if (serializable!= null) {
820 try {
821 final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
822 final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
823 out.writeObject(serializable);
824 out.close();
825 final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
826 final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
827 final Serializable copy = ((Serializable) in.readObject());
828 in.close();
829 return copy;
830 } catch (SecurityException e) {
831 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
832 } catch (ClassNotFoundException e) {
833 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
834 } catch (InvalidClassException e) {
835 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
836 } catch (NotSerializableException e) {
837 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
838 } catch (StreamCorruptedException e) {
839 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
840 } catch (OptionalDataException e) {
841 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
842 } catch (IOException e) {
843 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
844 }
845 }
846 return null;
847 }
848
849 /**
850 * Creates and returns a deep copy of this object.
851 *
852 *
853 * @return
854 * A deep copy of this object.
855 */
856 @Override
857 @Generated(value = "com.sun.tools.xjc.Driver", date = "2012-02-17T01:46:51+01:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-2")
858 public SourceFileType clone() {
859 {
860 // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000
861 final SourceFileType clone = ((SourceFileType) super.clone());
862 // CClassInfo: org.jomc.tools.model.SourceSectionsType
863 clone.sourceSections = ((this.sourceSections == null)?null:((this.getSourceSections() == null)?null:this.getSourceSections().clone()));
864 // 'Any' collection.
865 if (this.any!= null) {
866 clone.any = null;
867 copyAny(this.getAny(), clone.getAny());
868 }
869 // CBuiltinLeafInfo: java.lang.String
870 clone.identifier = ((this.identifier == null)?null:this.getIdentifier());
871 // CBuiltinLeafInfo: java.lang.String
872 clone.location = ((this.location == null)?null:this.getLocation());
873 // CBuiltinLeafInfo: java.lang.String
874 clone.template = ((this.template == null)?null:this.getTemplate());
875 // CBuiltinLeafInfo: java.lang.String
876 clone.headComment = ((this.headComment == null)?null:this.getHeadComment());
877 // CBuiltinLeafInfo: java.lang.String
878 clone.tailComment = ((this.tailComment == null)?null:this.getTailComment());
879 // CBuiltinLeafInfo: java.lang.Boolean
880 clone._final = ((this._final == null)?null:this.isFinal());
881 // CBuiltinLeafInfo: java.lang.Boolean
882 clone.override = ((this.override == null)?null:this.isOverride());
883 return clone;
884 }
885 }
886
887 /**
888 * Gets a single {@code JAXBElement} matching a namespace URI and local part from the {@code any} property of the
889 * instance.
890 *
891 * @param namespaceURI The namespace URI of the {@code JAXBElement} to return.
892 * @param localPart The local part of the {@code JAXBElement} to return.
893 * @param type The class of the type the element is bound to.
894 * @param <T> The type the element is bound to.
895 *
896 * @return The {@code JAXBElement} matching {@code namespaceURI} and {@code localPart} from the {@code any} property
897 * of the instance or {@code null}, if no such element is found.
898 *
899 * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
900 * @throws IllegalStateException if the {@code any} property contains more than one matching element.
901 *
902 * @see #getAnyElement(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
903 */
904 public <T> javax.xml.bind.JAXBElement<T> getAnyElement( final String namespaceURI, final String localPart,
905 final Class<T> type )
906 {
907 return this.getAnyElement( this.getAny(), namespaceURI, localPart, type );
908 }
909
910 /**
911 * Gets a list containing all {@code JAXBElement}s matching a namespace URI and local part from the {@code any}
912 * property of the instance.
913 *
914 * @param namespaceURI The namespace URI of the {@code JAXBElement}s to return.
915 * @param localPart The local part of the {@code JAXBElement}s to return.
916 * @param type The class of the type the elements are bound to.
917 * @param <T> The type the elements are bound to.
918 *
919 * @return An unmodifiable list of all {@code JAXBElement}s matching {@code namespaceURI} and {@code localPart} from
920 * the {@code any} property of the instance - an empty list if no such elements are found.
921 *
922 * @throws NullPointerException if {@code namespaceURI}, {@code localPart} or {@code type} is {@code null}.
923 *
924 * @see #getAnyElements(java.util.List, java.lang.String, java.lang.String, java.lang.Class)
925 */
926 public <T> java.util.List<javax.xml.bind.JAXBElement<T>> getAnyElements( final String namespaceURI,
927 final String localPart,
928 final Class<T> type )
929 {
930 return this.getAnyElements( this.getAny(), namespaceURI, localPart, type );
931 }
932
933 /**
934 * Gets a single object matching a given class from the {@code any} property of the instance.
935 *
936 * @param clazz The class to return an instance of.
937 * @param <T> The type of the object to return.
938 *
939 * @return The instance of {@code clazz} from the {@code any} property of the instance or {@code null}, if no such
940 * instance is found.
941 *
942 * @throws NullPointerException if {@code clazz} is {@code null}.
943 * @throws IllegalStateException if the {@code any} property contains more than one matching object.
944 *
945 * @see #getAnyObject(java.util.List, java.lang.Class)
946 */
947 public <T> T getAnyObject( final Class<T> clazz )
948 {
949 return this.getAnyObject( this.getAny(), clazz );
950 }
951
952 /**
953 * Gets a list containing all objects matching a given class from the {@code any} property of the instance.
954 *
955 * @param clazz The class to return all instances of.
956 * @param <T> The type of the objects to return.
957 *
958 * @return An unmodifiable list of all instances of {@code clazz} from the {@code any} property of the instance -
959 * an empty list if no such objects are found.
960 *
961 * @throws NullPointerException if {@code clazz} is {@code null}.
962 *
963 * @see #getAnyObjects(java.util.List, java.lang.Class)
964 */
965 public <T> java.util.List<T> getAnyObjects( final Class<T> clazz )
966 {
967 return this.getAnyObjects( this.getAny(), clazz );
968 }
969
970 }