1
2 package org.miloss.fgsms.services.interfaces.automatedreportingservice;
3
4 import java.io.Serializable;
5 import java.util.ArrayList;
6 import java.util.List;
7 import javax.xml.bind.annotation.XmlAccessType;
8 import javax.xml.bind.annotation.XmlAccessorType;
9 import javax.xml.bind.annotation.XmlElement;
10 import javax.xml.bind.annotation.XmlRootElement;
11 import javax.xml.bind.annotation.XmlSchemaType;
12 import javax.xml.bind.annotation.XmlType;
13 import java.util.Calendar;
14 import org.miloss.fgsms.services.interfaces.policyconfiguration.SLAAction;
15
16
17 /**
18 * <p>Java class for ReportDefinition complex type.
19 *
20 * <p>The following schema fragment specifies the expected content contained within this class.
21 *
22 * <pre>
23 * <complexType name="ReportDefinition">
24 * <complexContent>
25 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
26 * <sequence>
27 * <element name="friendlyName" type="{http://www.w3.org/2001/XMLSchema}string"/>
28 * <element name="enabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
29 * <element name="jobId" type="{http://www.w3.org/2001/XMLSchema}string"/>
30 * <element name="owner" type="{http://www.w3.org/2001/XMLSchema}string"/>
31 * <element name="lastRanAt" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
32 * <element name="schedule" type="{urn:org:miloss:fgsms:services:interfaces:automatedReportingService}scheduleDefinition"/>
33 * <element name="notifications" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}SLAAction" maxOccurs="unbounded"/>
34 * <choice>
35 * <element ref="{urn:org:miloss:fgsms:services:interfaces:automatedReportingService}ExportCSVDataRequestMsg"/>
36 * <element ref="{urn:org:miloss:fgsms:services:interfaces:automatedReportingService}ExportDataRequestMsg"/>
37 * </choice>
38 * <element name="additionalReaders" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
39 * </sequence>
40 * </restriction>
41 * </complexContent>
42 * </complexType>
43 * </pre>
44 *
45 *
46 */
47 @XmlAccessorType(XmlAccessType.FIELD)
48 @XmlType(name = "ReportDefinition", propOrder = {
49 "friendlyName",
50 "enabled",
51 "jobId",
52 "owner",
53 "lastRanAt",
54 "schedule",
55 "notifications",
56 "exportCSVDataRequestMsg",
57 "exportDataRequestMsg",
58 "additionalReaders"
59 })
60 @XmlRootElement
61 public class ReportDefinition
62 implements Serializable
63 {
64
65 private final static long serialVersionUID = 1L;
66 @XmlElement(required = true, nillable = true)
67 protected String friendlyName;
68 protected boolean enabled;
69 @XmlElement(required = false, nillable = true)
70 protected String jobId;
71 @XmlElement(required = false, nillable = true)
72 protected String owner;
73 @XmlElement(required = true, nillable = true)
74 @XmlSchemaType(name = "dateTime")
75 protected Calendar lastRanAt;
76 @XmlElement(required = true)
77 protected ScheduleDefinition schedule;
78 @XmlElement(required = false, nillable = true)
79 protected List<SLAAction> notifications;
80 @XmlElement(name = "ExportCSVDataRequestMsg", nillable = true)
81 protected ExportCSVDataRequestMsg exportCSVDataRequestMsg;
82 @XmlElement(name = "ExportDataRequestMsg", nillable = true)
83 protected ExportDataRequestMsg exportDataRequestMsg;
84 @XmlElement(required = false, nillable = true)
85 protected List<String> additionalReaders;
86
87 /**
88 * Gets the value of the friendlyName property.
89 *
90 * @return
91 * possible object is
92 * {@link String }
93 *
94 */
95 public String getFriendlyName() {
96 return friendlyName;
97 }
98
99 /**
100 * Sets the value of the friendlyName property.
101 *
102 * @param value
103 * allowed object is
104 * {@link String }
105 *
106 */
107 public void setFriendlyName(String value) {
108 this.friendlyName = value;
109 }
110
111 public boolean isSetFriendlyName() {
112 return (this.friendlyName!= null);
113 }
114
115 /**
116 * Gets the value of the enabled property.
117 *
118 */
119 public boolean isEnabled() {
120 return enabled;
121 }
122
123 /**
124 * Sets the value of the enabled property.
125 *
126 */
127 public void setEnabled(boolean value) {
128 this.enabled = value;
129 }
130
131 public boolean isSetEnabled() {
132 return true;
133 }
134
135 /**
136 * Gets the value of the jobId property.
137 *
138 * @return
139 * possible object is
140 * {@link String }
141 *
142 */
143 public String getJobId() {
144 return jobId;
145 }
146
147 /**
148 * Sets the value of the jobId property.
149 *
150 * @param value
151 * allowed object is
152 * {@link String }
153 *
154 */
155 public void setJobId(String value) {
156 this.jobId = value;
157 }
158
159 public boolean isSetJobId() {
160 return (this.jobId!= null);
161 }
162
163 /**
164 * Gets the value of the owner property.
165 *
166 * @return
167 * possible object is
168 * {@link String }
169 *
170 */
171 public String getOwner() {
172 return owner;
173 }
174
175 /**
176 * Sets the value of the owner property.
177 *
178 * @param value
179 * allowed object is
180 * {@link String }
181 *
182 */
183 public void setOwner(String value) {
184 this.owner = value;
185 }
186
187 public boolean isSetOwner() {
188 return (this.owner!= null);
189 }
190
191 /**
192 * Gets the value of the lastRanAt property.
193 *
194 * @return
195 * possible object is
196 * {@link Calendar }
197 *
198 */
199 public Calendar getLastRanAt() {
200 return lastRanAt;
201 }
202
203 /**
204 * Sets the value of the lastRanAt property.
205 *
206 * @param value
207 * allowed object is
208 * {@link Calendar }
209 *
210 */
211 public void setLastRanAt(Calendar value) {
212 this.lastRanAt = value;
213 }
214
215 public boolean isSetLastRanAt() {
216 return (this.lastRanAt!= null);
217 }
218
219 /**
220 * Gets the value of the schedule property.
221 *
222 * @return
223 * possible object is
224 * {@link ScheduleDefinition }
225 *
226 */
227 public ScheduleDefinition getSchedule() {
228 return schedule;
229 }
230
231 /**
232 * Sets the value of the schedule property.
233 *
234 * @param value
235 * allowed object is
236 * {@link ScheduleDefinition }
237 *
238 */
239 public void setSchedule(ScheduleDefinition value) {
240 this.schedule = value;
241 }
242
243 public boolean isSetSchedule() {
244 return (this.schedule!= null);
245 }
246
247 /**
248 * Gets the value of the notifications property.
249 *
250 * <p>
251 * This accessor method returns a reference to the live list,
252 * not a snapshot. Therefore any modification you make to the
253 * returned list will be present inside the JAXB object.
254 * This is why there is not a <CODE>set</CODE> method for the notifications property.
255 *
256 * <p>
257 * For example, to add a new item, do as follows:
258 * <pre>
259 * getNotifications().add(newItem);
260 * </pre>
261 *
262 *
263 * <p>
264 * Objects of the following type(s) are allowed in the list
265 * {@link SLAAction }
266 *
267 *
268 */
269 public List<SLAAction> getNotifications() {
270 if (notifications == null) {
271 notifications = new ArrayList<SLAAction>();
272 }
273 return this.notifications;
274 }
275
276 public boolean isSetNotifications() {
277 return ((this.notifications!= null)&&(!this.notifications.isEmpty()));
278 }
279
280 public void unsetNotifications() {
281 this.notifications = null;
282 }
283
284 /**
285 * Gets the value of the exportCSVDataRequestMsg property.
286 *
287 * @return
288 * possible object is
289 * {@link ExportCSVDataRequestMsg }
290 *
291 */
292 public ExportCSVDataRequestMsg getExportCSVDataRequestMsg() {
293 return exportCSVDataRequestMsg;
294 }
295
296 /**
297 * Sets the value of the exportCSVDataRequestMsg property.
298 *
299 * @param value
300 * allowed object is
301 * {@link ExportCSVDataRequestMsg }
302 *
303 */
304 public void setExportCSVDataRequestMsg(ExportCSVDataRequestMsg value) {
305 this.exportCSVDataRequestMsg = value;
306 }
307
308 public boolean isSetExportCSVDataRequestMsg() {
309 return (this.exportCSVDataRequestMsg!= null);
310 }
311
312 /**
313 * Gets the value of the exportDataRequestMsg property.
314 *
315 * @return
316 * possible object is
317 * {@link ExportDataRequestMsg }
318 *
319 */
320 public ExportDataRequestMsg getExportDataRequestMsg() {
321 return exportDataRequestMsg;
322 }
323
324 /**
325 * Sets the value of the exportDataRequestMsg property.
326 *
327 * @param value
328 * allowed object is
329 * {@link ExportDataRequestMsg }
330 *
331 */
332 public void setExportDataRequestMsg(ExportDataRequestMsg value) {
333 this.exportDataRequestMsg = value;
334 }
335
336 public boolean isSetExportDataRequestMsg() {
337 return (this.exportDataRequestMsg!= null);
338 }
339
340 /**
341 * Gets the value of the additionalReaders property.
342 *
343 * <p>
344 * This accessor method returns a reference to the live list,
345 * not a snapshot. Therefore any modification you make to the
346 * returned list will be present inside the JAXB object.
347 * This is why there is not a <CODE>set</CODE> method for the additionalReaders property.
348 *
349 * <p>
350 * For example, to add a new item, do as follows:
351 * <pre>
352 * getAdditionalReaders().add(newItem);
353 * </pre>
354 *
355 *
356 * <p>
357 * Objects of the following type(s) are allowed in the list
358 * {@link String }
359 *
360 *
361 */
362 public List<String> getAdditionalReaders() {
363 if (additionalReaders == null) {
364 additionalReaders = new ArrayList<String>();
365 }
366 return this.additionalReaders;
367 }
368
369 public boolean isSetAdditionalReaders() {
370 return ((this.additionalReaders!= null)&&(!this.additionalReaders.isEmpty()));
371 }
372
373 public void unsetAdditionalReaders() {
374 this.additionalReaders = null;
375 }
376
377 }