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