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.util.ArrayList; 012 import java.util.Iterator; 013 import java.util.List; 014 import javax.annotation.Generated; 015 import javax.xml.bind.annotation.XmlAccessType; 016 import javax.xml.bind.annotation.XmlAccessorType; 017 import javax.xml.bind.annotation.XmlType; 018 019 020 /** 021 * List of instances. 022 * 023 * <p>Java class for Instances complex type. 024 * 025 * <p>The following schema fragment specifies the expected content contained within this class. 026 * 027 * <pre> 028 * <complexType name="Instances"> 029 * <complexContent> 030 * <extension base="{http://jomc.org/model}ModelObject"> 031 * <sequence> 032 * <element ref="{http://jomc.org/model}instance" maxOccurs="unbounded" minOccurs="0"/> 033 * </sequence> 034 * </extension> 035 * </complexContent> 036 * </complexType> 037 * </pre> 038 * 039 * 040 */ 041 @XmlAccessorType(XmlAccessType.FIELD) 042 @XmlType(name = "Instances", propOrder = { 043 "instance" 044 }) 045 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") 046 public class Instances 047 extends ModelObject 048 implements Cloneable 049 { 050 051 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") 052 protected List<Instance> instance; 053 054 /** 055 * Creates a new {@code Instances} instance. 056 * 057 */ 058 public Instances() { 059 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 060 super(); 061 } 062 063 /** 064 * Creates a new {@code Instances} instance by deeply copying a given {@code Instances} instance. 065 * 066 * 067 * @param o 068 * The instance to copy. 069 * @throws NullPointerException 070 * if {@code o} is {@code null}. 071 */ 072 public Instances(final Instances o) { 073 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 074 super(o); 075 if (o == null) { 076 throw new NullPointerException("Cannot create a copy of 'Instances' from 'null'."); 077 } 078 // 'Instance' collection. 079 copyInstance(o.getInstance(), getInstance()); 080 } 081 082 /** 083 * Gets the value of the instance property. 084 * 085 * <p> 086 * This accessor method returns a reference to the live list, 087 * not a snapshot. Therefore any modification you make to the 088 * returned list will be present inside the JAXB object. 089 * This is why there is not a <CODE>set</CODE> method for the instance property. 090 * 091 * <p> 092 * For example, to add a new item, do as follows: 093 * <pre> 094 * getInstance().add(newItem); 095 * </pre> 096 * 097 * 098 * <p> 099 * Objects of the following type(s) are allowed in the list 100 * {@link Instance } 101 * 102 * 103 */ 104 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") 105 public List<Instance> getInstance() { 106 if (instance == null) { 107 instance = new ArrayList<Instance>(); 108 } 109 return this.instance; 110 } 111 112 /** 113 * Copies all values of property {@code Instance} deeply. 114 * 115 * @param target 116 * The target to copy {@code source} to. 117 * @param source 118 * The source to copy from. 119 * @throws NullPointerException 120 * if {@code source} or {@code target} is {@code null}. 121 */ 122 @SuppressWarnings("unchecked") 123 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") 124 private static void copyInstance(final List<Instance> source, final List<Instance> target) { 125 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 126 if (!source.isEmpty()) { 127 for (Iterator it = source.iterator(); it.hasNext(); ) { 128 final Object next = it.next(); 129 if (next instanceof Instance) { 130 // CClassInfo: org.jomc.model.Instance 131 target.add(((Instance) next).clone()); 132 continue; 133 } 134 // Please report this at https://apps.sourceforge.net/mantisbt/ccxjc/ 135 throw new AssertionError((("Unexpected instance '"+ next)+"' for property 'Instance' of class 'org.jomc.model.Instances'.")); 136 } 137 } 138 } 139 140 /** 141 * Creates and returns a deep copy of this object. 142 * 143 * 144 * @return 145 * A deep copy of this object. 146 */ 147 @Override 148 @Generated(value = "com.sun.tools.xjc.Driver", date = "2009-12-07T03:06:36+00:00", comments = "JAXB RI vhudson-jaxb-ri-2.1-833") 149 public Instances clone() { 150 // CC-XJC Version 1.2 Build 2009-11-15T21:50:02+0000 151 return new Instances(this); 152 } 153 154 /** 155 * Gets an instance for a given identifier from the list of instances. 156 * 157 * @param identifier The identifier of the instance to return. 158 * 159 * @return The instance identified by {@code identifier} from the list or 160 * {@code null}, if no instance matching {@code identifier} is found. 161 * 162 * @throws NullPointerException if {@code identifier} is {@code null}. 163 * 164 * @see #getInstance() 165 */ 166 public Instance getInstance( final String identifier ) 167 { 168 if ( identifier == null ) 169 { 170 throw new NullPointerException( "identifier" ); 171 } 172 173 for ( Instance i : this.getInstance() ) 174 { 175 if ( i.getIdentifier().equals( identifier ) ) 176 { 177 return i; 178 } 179 } 180 181 return null; 182 } 183 184 185 }