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 an implementation.
052 *
053 * The 'Implementation' type defines attributes 'identifier', 'name', 'class', 'location', 'vendor', 'version', 'final',
054 * 'stateless' and 'abstract'. Attribute 'identifier' holds an identifier uniquely identifying the implementation in a set
055 * of implementations. Attribute 'name' holds a name uniquely identifying the implementation for its implemented
056 * specifications. Attribute 'class' holds an identifier of the class providing implementation instances. Attribute
057 * 'location' holds an URI of the location of instances of the implementation. Attribute 'vendor' holds vendor information
058 * for the vendor providing the implementation. Attribute 'version' holds a version of the implementation. Dependencies,
059 * messages, properties and specifications may be inherited from multiple parent implementations. The 'final' attribute
060 * flags an implementation the final node in an inheritance hierarchy. The 'stateless' attribute indicates that instances
061 * of the implementation do not retain state across operations. The 'abstract' attribute flags an implementation abstract.
062 *
063 *
064 * <p>Java class for Implementation complex type.
065 *
066 * <p>The following schema fragment specifies the expected content contained within this class.
067 *
068 * <pre>
069 * <complexType name="Implementation">
070 * <complexContent>
071 * <extension base="{http://jomc.org/model}ModelObject">
072 * <sequence>
073 * <element ref="{http://jomc.org/model}specifications" minOccurs="0"/>
074 * <element ref="{http://jomc.org/model}implementations" minOccurs="0"/>
075 * <element ref="{http://jomc.org/model}dependencies" minOccurs="0"/>
076 * <element ref="{http://jomc.org/model}properties" minOccurs="0"/>
077 * <element ref="{http://jomc.org/model}messages" minOccurs="0"/>
078 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
079 * </sequence>
080 * <attribute name="identifier" use="required" type="{http://jomc.org/model}Identifier" />
081 * <attribute name="name" use="required" type="{http://jomc.org/model}Identifier" />
082 * <attribute name="class" type="{http://jomc.org/model}Identifier" />
083 * <attribute name="location" type="{http://jomc.org/model}URI" />
084 * <attribute name="vendor" type="{http://jomc.org/model}String" />
085 * <attribute name="version" type="{http://jomc.org/model}Version" />
086 * <attribute name="final" type="{http://jomc.org/model}Flag" default="false" />
087 * <attribute name="stateless" type="{http://jomc.org/model}Flag" default="false" />
088 * <attribute name="abstract" type="{http://jomc.org/model}Flag" default="false" />
089 * </extension>
090 * </complexContent>
091 * </complexType>
092 * </pre>
093 *
094 *
095 */
096 @XmlAccessorType(XmlAccessType.FIELD)
097 @XmlType(name = "Implementation", propOrder = {
098 "specifications",
099 "implementations",
100 "dependencies",
101 "properties",
102 "messages",
103 "any"
104 })
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 public class Implementation
107 extends ModelObject
108 implements Cloneable
109 {
110
111 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
112 protected Specifications specifications;
113 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
114 protected Implementations implementations;
115 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
116 protected Dependencies dependencies;
117 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
118 protected Properties properties;
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 Messages messages;
121 @XmlAnyElement(lax = true)
122 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
123 protected List<Object> any;
124 @XmlAttribute(required = true)
125 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
126 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
127 protected String identifier;
128 @XmlAttribute(required = true)
129 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
130 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
131 protected String name;
132 @XmlAttribute(name = "class")
133 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
134 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
135 protected String clazz;
136 @XmlAttribute
137 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
138 protected String location;
139 @XmlAttribute
140 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
141 protected String vendor;
142 @XmlAttribute
143 @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
144 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
145 protected String version;
146 @XmlAttribute(name = "final")
147 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
148 protected Boolean _final;
149 @XmlAttribute
150 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
151 protected Boolean stateless;
152 @XmlAttribute(name = "abstract")
153 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
154 protected Boolean _abstract;
155
156 /**
157 * Creates a new {@code Implementation} instance.
158 *
159 */
160 public Implementation() {
161 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
162 super();
163 }
164
165 /**
166 * Creates a new {@code Implementation} instance by deeply copying a given {@code Implementation} instance.
167 *
168 *
169 * @param o
170 * The instance to copy.
171 * @throws NullPointerException
172 * if {@code o} is {@code null}.
173 */
174 public Implementation(final Implementation o) {
175 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
176 super(o);
177 if (o == null) {
178 throw new NullPointerException("Cannot create a copy of 'Implementation' from 'null'.");
179 }
180 // CClassInfo: org.jomc.model.Specifications
181 this.specifications = ((o.getSpecifications() == null)?null:o.getSpecifications().clone());
182 // CClassInfo: org.jomc.model.Implementations
183 this.implementations = ((o.getImplementations() == null)?null:o.getImplementations().clone());
184 // CClassInfo: org.jomc.model.Dependencies
185 this.dependencies = ((o.getDependencies() == null)?null:o.getDependencies().clone());
186 // CClassInfo: org.jomc.model.Properties
187 this.properties = ((o.getProperties() == null)?null:o.getProperties().clone());
188 // CClassInfo: org.jomc.model.Messages
189 this.messages = ((o.getMessages() == null)?null:o.getMessages().clone());
190 // 'Any' collection.
191 copyAny(o.getAny(), getAny());
192 // CBuiltinLeafInfo: java.lang.String
193 this.identifier = o.getIdentifier();
194 // CBuiltinLeafInfo: java.lang.String
195 this.name = o.getName();
196 // CBuiltinLeafInfo: java.lang.String
197 this.clazz = o.getClazz();
198 // CBuiltinLeafInfo: java.lang.String
199 this.location = o.getLocation();
200 // CBuiltinLeafInfo: java.lang.String
201 this.vendor = o.getVendor();
202 // CBuiltinLeafInfo: java.lang.String
203 this.version = o.getVersion();
204 // CBuiltinLeafInfo: java.lang.Boolean
205 this._final = o.isFinal();
206 // CBuiltinLeafInfo: java.lang.Boolean
207 this.stateless = o.isStateless();
208 // CBuiltinLeafInfo: java.lang.Boolean
209 this._abstract = o.isAbstract();
210 }
211
212 /**
213 * References to specifications implemented by this implementation or {@code null}.
214 *
215 * @return
216 * possible object is
217 * {@link Specifications }
218 *
219 */
220 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
221 public Specifications getSpecifications() {
222 return specifications;
223 }
224
225 /**
226 * Sets the value of the specifications property.
227 *
228 * @param value
229 * allowed object is
230 * {@link Specifications }
231 *
232 */
233 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
234 public void setSpecifications(Specifications value) {
235 this.specifications = value;
236 }
237
238 /**
239 * References to implementations this implementation inherits from or {@code null}.
240 *
241 * @return
242 * possible object is
243 * {@link Implementations }
244 *
245 */
246 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
247 public Implementations getImplementations() {
248 return implementations;
249 }
250
251 /**
252 * Sets the value of the implementations property.
253 *
254 * @param value
255 * allowed object is
256 * {@link Implementations }
257 *
258 */
259 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
260 public void setImplementations(Implementations value) {
261 this.implementations = value;
262 }
263
264 /**
265 * Dependencies of this implementation or {@code null}.
266 *
267 * @return
268 * possible object is
269 * {@link Dependencies }
270 *
271 */
272 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
273 public Dependencies getDependencies() {
274 return dependencies;
275 }
276
277 /**
278 * Sets the value of the dependencies property.
279 *
280 * @param value
281 * allowed object is
282 * {@link Dependencies }
283 *
284 */
285 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
286 public void setDependencies(Dependencies value) {
287 this.dependencies = value;
288 }
289
290 /**
291 * Properties of this implementation or {@code null}.
292 *
293 * @return
294 * possible object is
295 * {@link Properties }
296 *
297 */
298 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
299 public Properties getProperties() {
300 return properties;
301 }
302
303 /**
304 * Sets the value of the properties property.
305 *
306 * @param value
307 * allowed object is
308 * {@link Properties }
309 *
310 */
311 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
312 public void setProperties(Properties value) {
313 this.properties = value;
314 }
315
316 /**
317 * Messages of this implementation or {@code null}.
318 *
319 * @return
320 * possible object is
321 * {@link Messages }
322 *
323 */
324 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
325 public Messages getMessages() {
326 return messages;
327 }
328
329 /**
330 * Sets the value of the messages property.
331 *
332 * @param value
333 * allowed object is
334 * {@link Messages }
335 *
336 */
337 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
338 public void setMessages(Messages value) {
339 this.messages = value;
340 }
341
342 /**
343 * Gets the value of the any property.
344 *
345 * <p>
346 * This accessor method returns a reference to the live list,
347 * not a snapshot. Therefore any modification you make to the
348 * returned list will be present inside the JAXB object.
349 * This is why there is not a <CODE>set</CODE> method for the any property.
350 *
351 * <p>
352 * For example, to add a new item, do as follows:
353 * <pre>
354 * getAny().add(newItem);
355 * </pre>
356 *
357 *
358 * <p>
359 * Objects of the following type(s) are allowed in the list
360 * {@link Element }
361 * {@link Object }
362 *
363 *
364 */
365 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
366 public List<Object> getAny() {
367 if (any == null) {
368 any = new ArrayList<Object>();
369 }
370 return this.any;
371 }
372
373 /**
374 * The identifier of this implementation.
375 *
376 * @return
377 * possible object is
378 * {@link String }
379 *
380 */
381 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
382 public String getIdentifier() {
383 return identifier;
384 }
385
386 /**
387 * Sets the value of the identifier property.
388 *
389 * @param value
390 * allowed object is
391 * {@link String }
392 *
393 */
394 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
395 public void setIdentifier(String value) {
396 this.identifier = value;
397 }
398
399 /**
400 * The name of this implementation.
401 *
402 * @return
403 * possible object is
404 * {@link String }
405 *
406 */
407 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
408 public String getName() {
409 return name;
410 }
411
412 /**
413 * Sets the value of the name property.
414 *
415 * @param value
416 * allowed object is
417 * {@link String }
418 *
419 */
420 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
421 public void setName(String value) {
422 this.name = value;
423 }
424
425 /**
426 * The identifier of the class providing instances of this implementation or {@code null}.
427 *
428 * @return
429 * possible object is
430 * {@link String }
431 *
432 */
433 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
434 public String getClazz() {
435 return clazz;
436 }
437
438 /**
439 * Sets the value of the clazz property.
440 *
441 * @param value
442 * allowed object is
443 * {@link String }
444 *
445 */
446 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
447 public void setClazz(String value) {
448 this.clazz = value;
449 }
450
451 /**
452 * An URI of the location providing instances of this implementation or {@code null}.
453 *
454 * @return
455 * possible object is
456 * {@link String }
457 *
458 */
459 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
460 public String getLocation() {
461 return location;
462 }
463
464 /**
465 * Sets the value of the location property.
466 *
467 * @param value
468 * allowed object is
469 * {@link String }
470 *
471 */
472 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
473 public void setLocation(String value) {
474 this.location = value;
475 }
476
477 /**
478 * The vendor of this implementation or {@code null}.
479 *
480 * @return
481 * possible object is
482 * {@link String }
483 *
484 */
485 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
486 public String getVendor() {
487 return vendor;
488 }
489
490 /**
491 * Sets the value of the vendor property.
492 *
493 * @param value
494 * allowed object is
495 * {@link String }
496 *
497 */
498 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
499 public void setVendor(String value) {
500 this.vendor = value;
501 }
502
503 /**
504 * The version of this implementation or {@code null}.
505 *
506 * @return
507 * possible object is
508 * {@link String }
509 *
510 */
511 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
512 public String getVersion() {
513 return version;
514 }
515
516 /**
517 * Sets the value of the version property.
518 *
519 * @param value
520 * allowed object is
521 * {@link String }
522 *
523 */
524 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
525 public void setVersion(String value) {
526 this.version = value;
527 }
528
529 /**
530 * {@code true} if this implementation is the final node in an inheritance hierarchy.
531 *
532 * @return
533 * possible object is
534 * {@link Boolean }
535 *
536 */
537 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
538 public boolean isFinal() {
539 if (_final == null) {
540 return false;
541 } else {
542 return _final;
543 }
544 }
545
546 /**
547 * Sets the value of the final property.
548 *
549 * @param value
550 * allowed object is
551 * {@link Boolean }
552 *
553 */
554 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
555 public void setFinal(Boolean value) {
556 this._final = value;
557 }
558
559 /**
560 * {@code true} if instances of this implementation do not retain state across operations.
561 *
562 * @return
563 * possible object is
564 * {@link Boolean }
565 *
566 */
567 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
568 public boolean isStateless() {
569 if (stateless == null) {
570 return false;
571 } else {
572 return stateless;
573 }
574 }
575
576 /**
577 * Sets the value of the stateless property.
578 *
579 * @param value
580 * allowed object is
581 * {@link Boolean }
582 *
583 */
584 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
585 public void setStateless(Boolean value) {
586 this.stateless = value;
587 }
588
589 /**
590 * {@code true} if this implementation is abstract.
591 *
592 * @return
593 * possible object is
594 * {@link Boolean }
595 *
596 */
597 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
598 public boolean isAbstract() {
599 if (_abstract == null) {
600 return false;
601 } else {
602 return _abstract;
603 }
604 }
605
606 /**
607 * Sets the value of the abstract property.
608 *
609 * @param value
610 * allowed object is
611 * {@link Boolean }
612 *
613 */
614 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
615 public void setAbstract(Boolean value) {
616 this._abstract = value;
617 }
618
619 /**
620 * Copies all values of property {@code Any} deeply.
621 *
622 * @param target
623 * The target to copy {@code source} to.
624 * @param source
625 * The source to copy from.
626 * @throws NullPointerException
627 * if {@code source} or {@code target} is {@code null}.
628 */
629 @SuppressWarnings("unchecked")
630 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
631 private static void copyAny(final List<Object> source, final List<Object> target) {
632 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
633 if (!source.isEmpty()) {
634 for (Iterator it = source.iterator(); it.hasNext(); ) {
635 final Object next = it.next();
636 if (next instanceof Element) {
637 // CWildcardTypeInfo: org.w3c.dom.Element
638 target.add(((Element)((Element) next).cloneNode(true)));
639 continue;
640 }
641 if (next instanceof Object) {
642 // CBuiltinLeafInfo: java.lang.Object
643 target.add(copyOfObject(((Object) next)));
644 continue;
645 }
646 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
647 throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Any' of class 'org.jomc.model.Implementation'."));
648 }
649 }
650 }
651
652 /**
653 * Creates and returns a deep copy of a given object.
654 *
655 * @param o
656 * The instance to copy or {@code null}.
657 * @return
658 * A deep copy of {@code o} or {@code null} if {@code o} is {@code null}.
659 */
660 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
661 private static Object copyOfObject(final Object o) {
662 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
663 if (o!= null) {
664 if (o.getClass().isPrimitive()) {
665 return o;
666 }
667 if (o.getClass().isArray()) {
668 return copyOfArray(o);
669 }
670 if (o instanceof Boolean) {
671 return o;
672 }
673 if (o instanceof Byte) {
674 return o;
675 }
676 if (o instanceof Character) {
677 return o;
678 }
679 if (o instanceof Double) {
680 return o;
681 }
682 if (o instanceof Enum) {
683 return o;
684 }
685 if (o instanceof Float) {
686 return o;
687 }
688 if (o instanceof Integer) {
689 return o;
690 }
691 if (o instanceof Long) {
692 return o;
693 }
694 if (o instanceof Short) {
695 return o;
696 }
697 if (o instanceof String) {
698 return o;
699 }
700 if (o instanceof BigDecimal) {
701 return o;
702 }
703 if (o instanceof BigInteger) {
704 return o;
705 }
706 if (o instanceof UUID) {
707 return o;
708 }
709 if (o instanceof QName) {
710 return o;
711 }
712 if (o instanceof Duration) {
713 return o;
714 }
715 if (o instanceof Currency) {
716 return o;
717 }
718 if (o instanceof XMLGregorianCalendar) {
719 return ((XMLGregorianCalendar) o).clone();
720 }
721 if (o instanceof Date) {
722 return ((Date) o).clone();
723 }
724 if (o instanceof Calendar) {
725 return ((Calendar) o).clone();
726 }
727 if (o instanceof TimeZone) {
728 return ((TimeZone) o).clone();
729 }
730 if (o instanceof Locale) {
731 return ((Locale) o).clone();
732 }
733 if (o instanceof Element) {
734 return ((Element)((Element) o).cloneNode(true));
735 }
736 if (o instanceof JAXBElement) {
737 return copyOFJAXBElement(((JAXBElement) o));
738 }
739 try {
740 return o.getClass().getMethod("clone", ((Class[]) null)).invoke(o, ((Object[]) null));
741 } catch (NoSuchMethodException e) {
742 if (o instanceof Serializable) {
743 return copyOfSerializable(((Serializable) o));
744 }
745 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
746 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
747 } catch (IllegalAccessException e) {
748 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
749 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
750 } catch (InvocationTargetException e) {
751 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
752 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
753 } catch (SecurityException e) {
754 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
755 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
756 } catch (IllegalArgumentException e) {
757 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
758 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
759 } catch (ExceptionInInitializerError e) {
760 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/
761 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ o)+"'.")).initCause(e));
762 }
763 }
764 return null;
765 }
766
767 /**
768 * Creates and returns a deep copy of a given array.
769 *
770 * @param array
771 * The array to copy or {@code null}.
772 * @return
773 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
774 */
775 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
776 private static Object copyOfArray(final Object array) {
777 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
778 if (array!= null) {
779 if (array.getClass() == boolean[].class) {
780 return copyOf(((boolean[]) array));
781 }
782 if (array.getClass() == byte[].class) {
783 return copyOf(((byte[]) array));
784 }
785 if (array.getClass() == char[].class) {
786 return copyOf(((char[]) array));
787 }
788 if (array.getClass() == double[].class) {
789 return copyOf(((double[]) array));
790 }
791 if (array.getClass() == float[].class) {
792 return copyOf(((float[]) array));
793 }
794 if (array.getClass() == int[].class) {
795 return copyOf(((int[]) array));
796 }
797 if (array.getClass() == long[].class) {
798 return copyOf(((long[]) array));
799 }
800 if (array.getClass() == short[].class) {
801 return copyOf(((short[]) array));
802 }
803 final int len = Array.getLength(array);
804 final Object copy = Array.newInstance(array.getClass().getComponentType(), len);
805 for (int i = (len- 1); (i >= 0); i--) {
806 Array.set(copy, i, copyOfObject(Array.get(array, i)));
807 }
808 return copy;
809 }
810 return null;
811 }
812
813 /**
814 * Creates and returns a deep copy of a given array.
815 *
816 * @param array
817 * The array to copy or {@code null}.
818 * @return
819 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
820 */
821 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
822 private static boolean[] copyOf(final boolean[] array) {
823 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
824 if (array!= null) {
825 final boolean[] copy = ((boolean[]) Array.newInstance(array.getClass().getComponentType(), array.length));
826 System.arraycopy(array, 0, copy, 0, array.length);
827 return copy;
828 }
829 return null;
830 }
831
832 /**
833 * Creates and returns a deep copy of a given array.
834 *
835 * @param array
836 * The array to copy or {@code null}.
837 * @return
838 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
839 */
840 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
841 private static byte[] copyOf(final byte[] array) {
842 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
843 if (array!= null) {
844 final byte[] copy = ((byte[]) Array.newInstance(array.getClass().getComponentType(), array.length));
845 System.arraycopy(array, 0, copy, 0, array.length);
846 return copy;
847 }
848 return null;
849 }
850
851 /**
852 * Creates and returns a deep copy of a given array.
853 *
854 * @param array
855 * The array to copy or {@code null}.
856 * @return
857 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
858 */
859 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
860 private static char[] copyOf(final char[] array) {
861 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
862 if (array!= null) {
863 final char[] copy = ((char[]) Array.newInstance(array.getClass().getComponentType(), array.length));
864 System.arraycopy(array, 0, copy, 0, array.length);
865 return copy;
866 }
867 return null;
868 }
869
870 /**
871 * Creates and returns a deep copy of a given array.
872 *
873 * @param array
874 * The array to copy or {@code null}.
875 * @return
876 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
877 */
878 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
879 private static double[] copyOf(final double[] array) {
880 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
881 if (array!= null) {
882 final double[] copy = ((double[]) Array.newInstance(array.getClass().getComponentType(), array.length));
883 System.arraycopy(array, 0, copy, 0, array.length);
884 return copy;
885 }
886 return null;
887 }
888
889 /**
890 * Creates and returns a deep copy of a given array.
891 *
892 * @param array
893 * The array to copy or {@code null}.
894 * @return
895 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
896 */
897 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
898 private static float[] copyOf(final float[] array) {
899 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
900 if (array!= null) {
901 final float[] copy = ((float[]) Array.newInstance(array.getClass().getComponentType(), array.length));
902 System.arraycopy(array, 0, copy, 0, array.length);
903 return copy;
904 }
905 return null;
906 }
907
908 /**
909 * Creates and returns a deep copy of a given array.
910 *
911 * @param array
912 * The array to copy or {@code null}.
913 * @return
914 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
915 */
916 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
917 private static int[] copyOf(final int[] array) {
918 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
919 if (array!= null) {
920 final int[] copy = ((int[]) Array.newInstance(array.getClass().getComponentType(), array.length));
921 System.arraycopy(array, 0, copy, 0, array.length);
922 return copy;
923 }
924 return null;
925 }
926
927 /**
928 * Creates and returns a deep copy of a given array.
929 *
930 * @param array
931 * The array to copy or {@code null}.
932 * @return
933 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
934 */
935 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
936 private static long[] copyOf(final long[] array) {
937 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
938 if (array!= null) {
939 final long[] copy = ((long[]) Array.newInstance(array.getClass().getComponentType(), array.length));
940 System.arraycopy(array, 0, copy, 0, array.length);
941 return copy;
942 }
943 return null;
944 }
945
946 /**
947 * Creates and returns a deep copy of a given array.
948 *
949 * @param array
950 * The array to copy or {@code null}.
951 * @return
952 * A deep copy of {@code array} or {@code null} if {@code array} is {@code null}.
953 */
954 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
955 private static short[] copyOf(final short[] array) {
956 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
957 if (array!= null) {
958 final short[] copy = ((short[]) Array.newInstance(array.getClass().getComponentType(), array.length));
959 System.arraycopy(array, 0, copy, 0, array.length);
960 return copy;
961 }
962 return null;
963 }
964
965 /**
966 * Creates and returns a deep copy of a given {@code JAXBElement} instance.
967 *
968 * @param element
969 * The instance to copy or {@code null}.
970 * @return
971 * A deep copy of {@code element} or {@code null} if {@code element} is {@code null}.
972 */
973 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
974 private static JAXBElement copyOFJAXBElement(final JAXBElement element) {
975 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
976 if (element!= null) {
977 final JAXBElement copy = new JAXBElement(element.getName(), element.getDeclaredType(), element.getScope(), element.getValue());
978 copy.setNil(element.isNil());
979 copy.setValue(copyOfObject(copy.getValue()));
980 return copy;
981 }
982 return null;
983 }
984
985 /**
986 * Creates and returns a deep copy of a given {@code Serializable}.
987 *
988 * @param serializable
989 * The instance to copy or {@code null}.
990 * @return
991 * A deep copy of {@code serializable} or {@code null} if {@code serializable} is {@code null}.
992 */
993 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
994 private static Serializable copyOfSerializable(final Serializable serializable) {
995 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
996 if (serializable!= null) {
997 try {
998 final ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
999 final ObjectOutputStream out = new ObjectOutputStream(byteArrayOutput);
1000 out.writeObject(serializable);
1001 out.close();
1002 final ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(byteArrayOutput.toByteArray());
1003 final ObjectInputStream in = new ObjectInputStream(byteArrayInput);
1004 final Serializable copy = ((Serializable) in.readObject());
1005 in.close();
1006 return copy;
1007 } catch (SecurityException e) {
1008 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1009 } catch (ClassNotFoundException e) {
1010 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1011 } catch (InvalidClassException e) {
1012 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1013 } catch (NotSerializableException e) {
1014 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1015 } catch (StreamCorruptedException e) {
1016 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1017 } catch (OptionalDataException e) {
1018 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1019 } catch (IOException e) {
1020 throw((AssertionError) new AssertionError((("Unexpected instance during copying object '"+ serializable)+"'.")).initCause(e));
1021 }
1022 }
1023 return null;
1024 }
1025
1026 /**
1027 * Creates and returns a deep copy of this object.
1028 *
1029 *
1030 * @return
1031 * A deep copy of this object.
1032 */
1033 @Override
1034 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833")
1035 public Implementation clone() {
1036 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000
1037 return new Implementation(this);
1038 }
1039
1040 /**
1041 * Gets the location URI used for locating instances of this implementation.
1042 *
1043 * @return The location URI used for locating instances of this implementation or {@code null}, if instances of this
1044 * implementation do not need to be located.
1045 *
1046 * @see #getLocation()
1047 */
1048 public java.net.URI getLocationUri()
1049 {
1050 try
1051 {
1052 java.net.URI javaLocation = null;
1053
1054 if ( this.getLocation() != null )
1055 {
1056 javaLocation = new java.net.URI( this.getLocation() );
1057 }
1058
1059 return javaLocation;
1060 }
1061 catch ( java.net.URISyntaxException e )
1062 {
1063 throw new AssertionError( e );
1064 }
1065 }
1066
1067
1068 }