View Javadoc
1   
2   package org.kuali.ole.docstore.common.document.content.instance;
3   
4   import com.thoughtworks.xstream.annotations.XStreamAlias;
5   import com.thoughtworks.xstream.annotations.XStreamImplicit;
6   
7   import javax.xml.bind.annotation.*;
8   import java.util.ArrayList;
9   import java.util.List;
10  
11  
12  /**
13   * Created by IntelliJ IDEA.
14   * User: Pranitha
15   * Date: 8/17/12
16   * Time: 10:47 AM
17   * To change this template use File | Settings | File Templates.
18   * <p/>
19   * The instance captures holdings and item information. Holdings can be recorded in either the general
20   * holdings section or specific holdings format in the sourceHoldings section. The flag "primary" on
21   * either
22   * holdings or the sourceHoldings tag indicates which holdings is being used. OLE will support MFHD and
23   * any
24   * other specific holdings format will need to be accounted for and implemented by the individual
25   * institutions.
26   * At any given time, either the general holdings or the sourceHoldings can be in use.
27   * <p/>
28   * The item information is also recorded and also maps to fields in the MFHD record. OLE will provide
29   * the
30   * conversion if an institution is using MFHD, bearing in mind that in such an event the location will
31   * only be limited to 3 levels.
32   * <p/>
33   * <p/>
34   * <p>Java class for instance complex type.
35   * <p/>
36   * <p>The following schema fragment specifies the expected content contained within this class.
37   * <p/>
38   * <pre>
39   * &lt;complexType name="instance">
40   *   &lt;complexContent>
41   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
42   *       &lt;sequence>
43   *         &lt;element name="instanceIdentifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
44   *         &lt;element name="resourceIdentifier" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
45   *         &lt;element name="formerResourceIdentifier" type="{http://ole.kuali.org/standards/ole-instance}formerIdentifier" maxOccurs="unbounded" minOccurs="0"/>
46   *         &lt;element name="oleHoldings" type="{http://ole.kuali.org/standards/ole-instance}oleHoldings"/>
47   *         &lt;element name="sourceHoldings" type="{http://ole.kuali.org/standards/ole-instance}sourceHoldings"/>
48   *         &lt;element name="items" type="{http://ole.kuali.org/standards/ole-instance}items"/>
49   *         &lt;element name="extension" type="{http://ole.kuali.org/standards/ole-instance}extension"/>
50   *       &lt;/sequence>
51   *     &lt;/restriction>
52   *   &lt;/complexContent>
53   * &lt;/complexType>
54   * </pre>
55   */
56  @XmlAccessorType(XmlAccessType.FIELD)
57  @XmlType(name = "instance", namespace = "http://ole.kuali.org/standards/ole-instance", propOrder = {
58          "instanceIdentifier",
59          "resourceIdentifier",
60          "formerResourceIdentifier",
61          "oleHoldings",
62          "sourceHoldings",
63          "items",
64          "extension"
65  })
66  @XStreamAlias("instance")
67  @XmlRootElement(name = "instance", namespace = "http://ole.kuali.org/standards/ole-instance")
68  public class Instance {
69  
70      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
71      protected String instanceIdentifier;
72      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
73      @XStreamImplicit(itemFieldName = "resourceIdentifier")
74      protected List<String> resourceIdentifier;
75      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance")
76      @XStreamImplicit(itemFieldName = "formerResourceIdentifier")
77      protected List<FormerIdentifier> formerResourceIdentifier;
78      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
79      protected OleHoldings oleHoldings;
80      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
81      protected SourceHoldings sourceHoldings;
82      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
83      protected Items items;
84      @XmlElement(namespace = "http://ole.kuali.org/standards/ole-instance", required = true)
85      protected Extension extension;
86  
87      /**
88       * Gets the value of the instanceIdentifier property.
89       *
90       * @return possible object is
91       *         {@link String }
92       */
93      public String getInstanceIdentifier() {
94          return instanceIdentifier;
95      }
96  
97      /**
98       * Sets the value of the instanceIdentifier property.
99       *
100      * @param value allowed object is
101      *              {@link String }
102      */
103     public void setInstanceIdentifier(String value) {
104         this.instanceIdentifier = value;
105     }
106 
107     /**
108      * Gets the value of the resourceIdentifier property.
109      * <p/>
110      * <p/>
111      * This accessor method returns a reference to the live list,
112      * not a snapshot. Therefore any modification you make to the
113      * returned list will be present inside the JAXB object.
114      * This is why there is not a <CODE>set</CODE> method for the resourceIdentifier property.
115      * <p/>
116      * <p/>
117      * For example, to add a new item, do as follows:
118      * <pre>
119      *    getResourceIdentifier().add(newItem);
120      * </pre>
121      * <p/>
122      * <p/>
123      * <p/>
124      * Objects of the following type(s) are allowed in the list
125      * {@link String }
126      */
127     public List<String> getResourceIdentifier() {
128         if (resourceIdentifier == null) {
129             resourceIdentifier = new ArrayList<String>();
130         }
131         return this.resourceIdentifier;
132     }
133 
134     /**
135      * @param resourceIdentifier
136      */
137     public void setResourceIdentifier(List<String> resourceIdentifier) {
138         this.resourceIdentifier = resourceIdentifier;
139     }
140 
141     /**
142      * Gets the value of the formerResourceIdentifier property.
143      * <p/>
144      * <p/>
145      * This accessor method returns a reference to the live list,
146      * not a snapshot. Therefore any modification you make to the
147      * returned list will be present inside the JAXB object.
148      * This is why there is not a <CODE>set</CODE> method for the formerResourceIdentifier property.
149      * <p/>
150      * <p/>
151      * For example, to add a new item, do as follows:
152      * <pre>
153      *    getFormerResourceIdentifier().add(newItem);
154      * </pre>
155      * <p/>
156      * <p/>
157      * <p/>
158      * Objects of the following type(s) are allowed in the list
159      * {@link FormerIdentifier }
160      */
161     public List<FormerIdentifier> getFormerResourceIdentifier() {
162         if (formerResourceIdentifier == null) {
163             formerResourceIdentifier = new ArrayList<FormerIdentifier>();
164         }
165         return this.formerResourceIdentifier;
166     }
167 
168     /**
169      * @param formerResourceIdentifier
170      */
171     public void setFormerResourceIdentifier(List<FormerIdentifier> formerResourceIdentifier) {
172         this.formerResourceIdentifier = formerResourceIdentifier;
173     }
174 
175     /**
176      * Gets the value of the oleHoldings property.
177      *
178      * @return possible object is
179      *         {@link OleHoldings }
180      */
181     public OleHoldings getOleHoldings() {
182         return oleHoldings;
183     }
184 
185     /**
186      * Sets the value of the oleHoldings property.
187      *
188      * @param value allowed object is
189      *              {@link OleHoldings }
190      */
191     public void setOleHoldings(OleHoldings value) {
192         this.oleHoldings = value;
193     }
194 
195     /**
196      * Gets the value of the sourceHoldings property.
197      *
198      * @return possible object is
199      *         {@link SourceHoldings }
200      */
201     public SourceHoldings getSourceHoldings() {
202         return sourceHoldings;
203     }
204 
205     /**
206      * Sets the value of the sourceHoldings property.
207      *
208      * @param value allowed object is
209      *              {@link SourceHoldings }
210      */
211     public void setSourceHoldings(SourceHoldings value) {
212         this.sourceHoldings = value;
213     }
214 
215     /**
216      * Gets the value of the items property.
217      *
218      * @return possible object is
219      *         {@link Items }
220      */
221     public Items getItems() {
222         if (items == null) {
223             items = new Items();
224         }
225         return items;
226     }
227 
228     /**
229      * Sets the value of the items property.
230      *
231      * @param value allowed object is
232      *              {@link Items }
233      */
234     public void setItems(Items value) {
235         this.items = value;
236     }
237 
238     /**
239      * Gets the value of the extension property.
240      *
241      * @return possible object is
242      *         {@link Extension }
243      */
244     public Extension getExtension() {
245         return extension;
246     }
247 
248     /**
249      * Sets the value of the extension property.
250      *
251      * @param value allowed object is
252      *              {@link Extension }
253      */
254     public void setExtension(Extension value) {
255         this.extension = value;
256     }
257 
258 }