View Javadoc
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   * &lt;complexType name="ServicePolicy">
27   *   &lt;complexContent>
28   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
29   *       &lt;sequence>
30   *         &lt;element name="BucketCategory" type="{http://www.w3.org/2001/XMLSchema}string"/>
31   *         &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string"/>
32   *         &lt;element name="POC" type="{http://www.w3.org/2001/XMLSchema}string"/>
33   *         &lt;element name="ExternalURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
34   *         &lt;element name="MachineName" type="{http://www.w3.org/2001/XMLSchema}string"/>
35   *         &lt;element name="DomainName" type="{http://www.w3.org/2001/XMLSchema}string"/>
36   *         &lt;element name="ParentObject" type="{http://www.w3.org/2001/XMLSchema}string"/>
37   *         &lt;element name="DataTTL" type="{http://www.w3.org/2001/XMLSchema}duration"/>
38   *         &lt;element name="PolicyRefreshRate" type="{http://www.w3.org/2001/XMLSchema}duration"/>
39   *         &lt;element name="FederationPolicyCollection" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}FederationPolicyCollection"/>
40   *         &lt;element name="PolicyType" type="{urn:org:miloss:fgsms:services:interfaces:common}policyType"/>
41   *         &lt;element name="AgentsEnabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
42   *         &lt;element name="Location" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}GeoTag"/>
43   *         &lt;element name="ServiceLevelAggrements" type="{urn:org:miloss:fgsms:services:interfaces:policyConfiguration}ArrayOfSLA"/>
44   *         &lt;element name="URL" type="{http://www.w3.org/2001/XMLSchema}string"/>
45   *         &lt;element name="displayName" type="{http://www.w3.org/2001/XMLSchema}string"/>
46   *         &lt;element name="settings" type="{urn:org:miloss:fgsms:services:interfaces:common}NameValuePairSet" minOccurs="0"/>
47   *       &lt;/sequence>
48   *     &lt;/restriction>
49   *   &lt;/complexContent>
50   * &lt;/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 }