1
2 package org.miloss.fgsms.services.interfaces.policyconfiguration;
3
4 import java.io.Serializable;
5 import javax.xml.bind.annotation.XmlAccessType;
6 import javax.xml.bind.annotation.XmlAccessorType;
7 import javax.xml.bind.annotation.XmlElement;
8 import javax.xml.bind.annotation.XmlRootElement;
9 import javax.xml.bind.annotation.XmlSeeAlso;
10 import javax.xml.bind.annotation.XmlType;
11 import javax.xml.datatype.Duration;
12 import org.miloss.fgsms.services.interfaces.common.NameValuePairSet;
13 import org.miloss.fgsms.services.interfaces.common.PolicyType;
14
15
16 /**
17 *
18 * ServicePolicy - The service policy is one of the most important elements in fgsms, it defines how agents react to observed traffic keyed on URLs
19 *
20 *
21 * <p>Java class for ServicePolicy complex type.
22 *
23 * <p>The following schema fragment specifies the expected content contained within this class.
24 *
25 * <pre>
26 * <complexType name="ServicePolicy">
27 * <complexContent>
28 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
29 * <sequence>
30 * <element name="BucketCategory" type="{http://www.w3.org/2001/XMLSchema}string"/>
31 * <element name="Description" type="{http://www.w3.org/2001/XMLSchema}string"/>
32 * <element name="POC" type="{http://www.w3.org/2001/XMLSchema}string"/>
33 * <element name="ExternalURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
34 * <element name="MachineName" type="{http://www.w3.org/2001/XMLSchema}string"/>
35 * <element name="DomainName" type="{http://www.w3.org/2001/XMLSchema}string"/>
36 * <element name="ParentObject" type="{http://www.w3.org/2001/XMLSchema}string"/>
37 * <element name="DataTTL" type="{http://www.w3.org/2001/XMLSchema}duration"/>
38 * <element name="PolicyRefreshRate" type="{http://www.w3.org/2001/XMLSchema}duration"/>
39 * <element name="FederationPolicyCollection" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}FederationPolicyCollection"/>
40 * <element name="PolicyType" type="{urn:org:miloss:fgsms:services:interfaces:common}policyType"/>
41 * <element name="AgentsEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
42 * <element name="Location" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}GeoTag"/>
43 * <element name="ServiceLevelAggrements" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}ArrayOfSLA"/>
44 * <element name="URL" type="{http://www.w3.org/2001/XMLSchema}string"/>
45 * <element name="displayName" type="{http://www.w3.org/2001/XMLSchema}string"/>
46 * <element name="settings" type="{urn:org:miloss:fgsms:services:interfaces:common}NameValuePairSet" minOccurs="0"/>
47 * </sequence>
48 * </restriction>
49 * </complexContent>
50 * </complexType>
51 * </pre>
52 *
53 *
54 */
55 @XmlAccessorType(XmlAccessType.FIELD)
56 @XmlType(name = "ServicePolicy", propOrder = {
57 "bucketCategory",
58 "description",
59 "poc",
60 "externalURL",
61 "machineName",
62 "domainName",
63 "parentObject",
64 "dataTTL",
65 "policyRefreshRate",
66 "federationPolicyCollection",
67 "policyType",
68 "agentsEnabled",
69 "location",
70 "serviceLevelAggrements",
71 "url",
72 "displayName",
73 "settings"
74 })
75 @XmlRootElement
76 @XmlSeeAlso({TransactionalWebServicePolicy.class, StatusServicePolicy.class, StatisticalServicePolicy.class,
77 ProcessPolicy.class, MachinePolicy.class
78 })
79 public class ServicePolicy
80 implements Serializable
81 {
82
83 private final static long serialVersionUID = 1L;
84 @XmlElement(name = "BucketCategory", required = false, nillable = true)
85 protected String bucketCategory;
86 @XmlElement(name = "Description", required = false, nillable = true)
87 protected String description;
88 @XmlElement(name = "POC", required = true, nillable = true)
89 protected String poc;
90 @XmlElement(name = "ExternalURL", required = false, nillable = true)
91 protected String externalURL;
92 @XmlElement(name = "MachineName", required = true, defaultValue = "UNSPECIFIED", nillable = true)
93 protected String machineName;
94 @XmlElement(name = "DomainName", required = true, defaultValue = "UNSPECIFIED", nillable = true)
95 protected String domainName;
96 @XmlElement(name = "ParentObject", required = false, nillable = true)
97 protected String parentObject;
98 @XmlElement(name = "DataTTL" , required = false,nillable = true)
99 protected Duration dataTTL;
100 @XmlElement(name = "PolicyRefreshRate", required = false,nillable = true)
101 protected Duration policyRefreshRate;
102 @XmlElement(name = "FederationPolicyCollection", required = false, nillable = true)
103 protected FederationPolicyCollection federationPolicyCollection;
104 @XmlElement(name = "PolicyType", required = true, defaultValue = "Transactional")
105 protected PolicyType policyType;
106 @XmlElement(name = "AgentsEnabled")
107 protected boolean agentsEnabled;
108 @XmlElement(name = "Location", required = false, nillable = true)
109 protected GeoTag location;
110 @XmlElement(name = "ServiceLevelAggrements", required = false, nillable = true)
111 protected ArrayOfSLA serviceLevelAggrements;
112 @XmlElement(name = "URL", required = true)
113 protected String url;
114 @XmlElement(required = true, nillable = true)
115 protected String displayName;
116 protected NameValuePairSet settings;
117
118 /**
119 * Gets the value of the bucketCategory property.
120 *
121 * @return
122 * possible object is
123 * {@link String }
124 *
125 */
126 public String getBucketCategory() {
127 return bucketCategory;
128 }
129
130 /**
131 * Sets the value of the bucketCategory property.
132 *
133 * @param value
134 * allowed object is
135 * {@link String }
136 *
137 */
138 public void setBucketCategory(String value) {
139 this.bucketCategory = value;
140 }
141
142 public boolean isSetBucketCategory() {
143 return (this.bucketCategory!= null);
144 }
145
146 /**
147 * Gets the value of the description property.
148 *
149 * @return
150 * possible object is
151 * {@link String }
152 *
153 */
154 public String getDescription() {
155 return description;
156 }
157
158 /**
159 * Sets the value of the description property.
160 *
161 * @param value
162 * allowed object is
163 * {@link String }
164 *
165 */
166 public void setDescription(String value) {
167 this.description = value;
168 }
169
170 public boolean isSetDescription() {
171 return (this.description!= null);
172 }
173
174 /**
175 * Gets the value of the poc property.
176 *
177 * @return
178 * possible object is
179 * {@link String }
180 *
181 */
182 public String getPOC() {
183 return poc;
184 }
185
186 /**
187 * Sets the value of the poc property.
188 *
189 * @param value
190 * allowed object is
191 * {@link String }
192 *
193 */
194 public void setPOC(String value) {
195 this.poc = value;
196 }
197
198 public boolean isSetPOC() {
199 return (this.poc!= null);
200 }
201
202 /**
203 * Gets the value of the externalURL property.
204 *
205 * @return
206 * possible object is
207 * {@link String }
208 *
209 */
210 public String getExternalURL() {
211 return externalURL;
212 }
213
214 /**
215 * Sets the value of the externalURL property.
216 *
217 * @param value
218 * allowed object is
219 * {@link String }
220 *
221 */
222 public void setExternalURL(String value) {
223 this.externalURL = value;
224 }
225
226 public boolean isSetExternalURL() {
227 return (this.externalURL!= null);
228 }
229
230 /**
231 * Gets the value of the machineName property.
232 *
233 * @return
234 * possible object is
235 * {@link String }
236 *
237 */
238 public String getMachineName() {
239 return machineName;
240 }
241
242 /**
243 * Sets the value of the machineName property.
244 *
245 * @param value
246 * allowed object is
247 * {@link String }
248 *
249 */
250 public void setMachineName(String value) {
251 this.machineName = value;
252 }
253
254 public boolean isSetMachineName() {
255 return (this.machineName!= null);
256 }
257
258 /**
259 * Gets the value of the domainName property.
260 *
261 * @return
262 * possible object is
263 * {@link String }
264 *
265 */
266 public String getDomainName() {
267 return domainName;
268 }
269
270 /**
271 * Sets the value of the domainName property.
272 *
273 * @param value
274 * allowed object is
275 * {@link String }
276 *
277 */
278 public void setDomainName(String value) {
279 this.domainName = value;
280 }
281
282 public boolean isSetDomainName() {
283 return (this.domainName!= null);
284 }
285
286 /**
287 * Gets the value of the parentObject property.
288 *
289 * @return
290 * possible object is
291 * {@link String }
292 *
293 */
294 public String getParentObject() {
295 return parentObject;
296 }
297
298 /**
299 * Sets the value of the parentObject property.
300 *
301 * @param value
302 * allowed object is
303 * {@link String }
304 *
305 */
306 public void setParentObject(String value) {
307 this.parentObject = value;
308 }
309
310 public boolean isSetParentObject() {
311 return (this.parentObject!= null);
312 }
313
314 /**
315 * Gets the value of the dataTTL property.
316 *
317 * @return
318 * possible object is
319 * {@link Duration }
320 *
321 */
322 public Duration getDataTTL() {
323 return dataTTL;
324 }
325
326 /**
327 * Sets the value of the dataTTL property.
328 *
329 * @param value
330 * allowed object is
331 * {@link Duration }
332 *
333 */
334 public void setDataTTL(Duration value) {
335 this.dataTTL = value;
336 }
337
338 public boolean isSetDataTTL() {
339 return (this.dataTTL!= null);
340 }
341
342 /**
343 * Gets the value of the policyRefreshRate property.
344 *
345 * @return
346 * possible object is
347 * {@link Duration }
348 *
349 */
350 public Duration getPolicyRefreshRate() {
351 return policyRefreshRate;
352 }
353
354 /**
355 * Sets the value of the policyRefreshRate property.
356 *
357 * @param value
358 * allowed object is
359 * {@link Duration }
360 *
361 */
362 public void setPolicyRefreshRate(Duration value) {
363 this.policyRefreshRate = value;
364 }
365
366 public boolean isSetPolicyRefreshRate() {
367 return (this.policyRefreshRate!= null);
368 }
369
370 /**
371 * Gets the value of the federationPolicyCollection property.
372 *
373 * @return
374 * possible object is
375 * {@link FederationPolicyCollection }
376 *
377 */
378 public FederationPolicyCollection getFederationPolicyCollection() {
379 return federationPolicyCollection;
380 }
381
382 /**
383 * Sets the value of the federationPolicyCollection property.
384 *
385 * @param value
386 * allowed object is
387 * {@link FederationPolicyCollection }
388 *
389 */
390 public void setFederationPolicyCollection(FederationPolicyCollection value) {
391 this.federationPolicyCollection = value;
392 }
393
394 public boolean isSetFederationPolicyCollection() {
395 return (this.federationPolicyCollection!= null);
396 }
397
398 /**
399 * Gets the value of the policyType property.
400 *
401 * @return
402 * possible object is
403 * {@link PolicyType }
404 *
405 */
406 public PolicyType getPolicyType() {
407 return policyType;
408 }
409
410 /**
411 * Sets the value of the policyType property.
412 *
413 * @param value
414 * allowed object is
415 * {@link PolicyType }
416 *
417 */
418 public void setPolicyType(PolicyType value) {
419 this.policyType = value;
420 }
421
422 public boolean isSetPolicyType() {
423 return (this.policyType!= null);
424 }
425
426 /**
427 * Gets the value of the agentsEnabled property.
428 *
429 */
430 public boolean isAgentsEnabled() {
431 return agentsEnabled;
432 }
433
434 /**
435 * Sets the value of the agentsEnabled property.
436 *
437 */
438 public void setAgentsEnabled(boolean value) {
439 this.agentsEnabled = value;
440 }
441
442 public boolean isSetAgentsEnabled() {
443 return true;
444 }
445
446 /**
447 * Gets the value of the location property.
448 *
449 * @return
450 * possible object is
451 * {@link GeoTag }
452 *
453 */
454 public GeoTag getLocation() {
455 return location;
456 }
457
458 /**
459 * Sets the value of the location property.
460 *
461 * @param value
462 * allowed object is
463 * {@link GeoTag }
464 *
465 */
466 public void setLocation(GeoTag value) {
467 this.location = value;
468 }
469
470 public boolean isSetLocation() {
471 return (this.location!= null);
472 }
473
474 /**
475 * Gets the value of the serviceLevelAggrements property.
476 *
477 * @return
478 * possible object is
479 * {@link ArrayOfSLA }
480 *
481 */
482 public ArrayOfSLA getServiceLevelAggrements() {
483 return serviceLevelAggrements;
484 }
485
486 /**
487 * Sets the value of the serviceLevelAggrements property.
488 *
489 * @param value
490 * allowed object is
491 * {@link ArrayOfSLA }
492 *
493 */
494 public void setServiceLevelAggrements(ArrayOfSLA value) {
495 this.serviceLevelAggrements = value;
496 }
497
498 public boolean isSetServiceLevelAggrements() {
499 return (this.serviceLevelAggrements!= null);
500 }
501
502 /**
503 * Gets the value of the url property.
504 *
505 * @return
506 * possible object is
507 * {@link String }
508 *
509 */
510 public String getURL() {
511 return url;
512 }
513
514 /**
515 * Sets the value of the url property.
516 *
517 * @param value
518 * allowed object is
519 * {@link String }
520 *
521 */
522 public void setURL(String value) {
523 this.url = value;
524 }
525
526 public boolean isSetURL() {
527 return (this.url!= null);
528 }
529
530 /**
531 * Gets the value of the displayName property.
532 *
533 * @return
534 * possible object is
535 * {@link String }
536 *
537 */
538 public String getDisplayName() {
539 return displayName;
540 }
541
542 /**
543 * Sets the value of the displayName property.
544 *
545 * @param value
546 * allowed object is
547 * {@link String }
548 *
549 */
550 public void setDisplayName(String value) {
551 this.displayName = value;
552 }
553
554 public boolean isSetDisplayName() {
555 return (this.displayName!= null);
556 }
557
558 /**
559 * Gets the value of the settings property.
560 *
561 * @return
562 * possible object is
563 * {@link NameValuePairSet }
564 *
565 */
566 public NameValuePairSet getSettings() {
567 return settings;
568 }
569
570 /**
571 * Sets the value of the settings property.
572 *
573 * @param value
574 * allowed object is
575 * {@link NameValuePairSet }
576 *
577 */
578 public void setSettings(NameValuePairSet value) {
579 this.settings = value;
580 }
581
582 public boolean isSetSettings() {
583 return (this.settings!= null);
584 }
585
586 }