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