View Javadoc

1   
2   package org.kuali.student.security.policy.dto;
3   
4   import java.util.ArrayList;
5   import java.util.HashMap;
6   import java.util.List;
7   import java.util.Map;
8   import javax.xml.bind.annotation.XmlAccessType;
9   import javax.xml.bind.annotation.XmlAccessorType;
10  import javax.xml.bind.annotation.XmlAnyAttribute;
11  import javax.xml.bind.annotation.XmlAnyElement;
12  import javax.xml.bind.annotation.XmlElement;
13  import javax.xml.bind.annotation.XmlElements;
14  import javax.xml.bind.annotation.XmlRootElement;
15  import javax.xml.bind.annotation.XmlType;
16  import javax.xml.namespace.QName;
17  import org.w3c.dom.Element;
18  
19  
20  /**
21   * <p>Java class for anonymous complex type.
22   * 
23   * <p>The following schema fragment specifies the expected content contained within this class.
24   * 
25   * <pre>
26   * &lt;complexType>
27   *   &lt;complexContent>
28   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
29   *       &lt;sequence>
30   *         &lt;element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}AppliesTo"/>
31   *         &lt;choice maxOccurs="unbounded">
32   *           &lt;element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy"/>
33   *           &lt;element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyReference"/>
34   *         &lt;/choice>
35   *         &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
36   *       &lt;/sequence>
37   *       &lt;anyAttribute processContents='lax'/>
38   *     &lt;/restriction>
39   *   &lt;/complexContent>
40   * &lt;/complexType>
41   * </pre>
42   * 
43   * 
44   */
45  @XmlAccessorType(XmlAccessType.FIELD)
46  @XmlType(name = "", propOrder = {
47      "appliesTo",
48      "policyOrPolicyReference",
49      "any"
50  })
51  @XmlRootElement(name = "PolicyAttachment")
52  public class PolicyAttachment {
53  
54      @XmlElement(name = "AppliesTo", required = true)
55      protected AppliesTo appliesTo;
56      @XmlElements({
57          @XmlElement(name = "PolicyReference", type = PolicyReference.class),
58          @XmlElement(name = "Policy", type = Policy.class)
59      })
60      protected List<Object> policyOrPolicyReference;
61      @XmlAnyElement(lax = true)
62      protected List<Object> any;
63      @XmlAnyAttribute
64      private Map<QName, String> otherAttributes = new HashMap<QName, String>();
65  
66      /**
67       * Gets the value of the appliesTo property.
68       * 
69       * @return
70       *     possible object is
71       *     {@link AppliesTo }
72       *     
73       */
74      public AppliesTo getAppliesTo() {
75          return appliesTo;
76      }
77  
78      /**
79       * Sets the value of the appliesTo property.
80       * 
81       * @param value
82       *     allowed object is
83       *     {@link AppliesTo }
84       *     
85       */
86      public void setAppliesTo(AppliesTo value) {
87          this.appliesTo = value;
88      }
89  
90      /**
91       * Gets the value of the policyOrPolicyReference property.
92       * 
93       * <p>
94       * This accessor method returns a reference to the live list,
95       * not a snapshot. Therefore any modification you make to the
96       * returned list will be present inside the JAXB object.
97       * This is why there is not a <CODE>set</CODE> method for the policyOrPolicyReference property.
98       * 
99       * <p>
100      * For example, to add a new item, do as follows:
101      * <pre>
102      *    getPolicyOrPolicyReference().add(newItem);
103      * </pre>
104      * 
105      * 
106      * <p>
107      * Objects of the following type(s) are allowed in the list
108      * {@link PolicyReference }
109      * {@link Policy }
110      * 
111      * 
112      */
113     public List<Object> getPolicyOrPolicyReference() {
114         if (policyOrPolicyReference == null) {
115             policyOrPolicyReference = new ArrayList<Object>();
116         }
117         return this.policyOrPolicyReference;
118     }
119 
120     /**
121      * Gets the value of the any property.
122      * 
123      * <p>
124      * This accessor method returns a reference to the live list,
125      * not a snapshot. Therefore any modification you make to the
126      * returned list will be present inside the JAXB object.
127      * This is why there is not a <CODE>set</CODE> method for the any property.
128      * 
129      * <p>
130      * For example, to add a new item, do as follows:
131      * <pre>
132      *    getAny().add(newItem);
133      * </pre>
134      * 
135      * 
136      * <p>
137      * Objects of the following type(s) are allowed in the list
138      * {@link Object }
139      * {@link Element }
140      * 
141      * 
142      */
143     public List<Object> getAny() {
144         if (any == null) {
145             any = new ArrayList<Object>();
146         }
147         return this.any;
148     }
149 
150     /**
151      * Gets a map that contains attributes that aren't bound to any typed property on this class.
152      * 
153      * <p>
154      * the map is keyed by the name of the attribute and 
155      * the value is the string value of the attribute.
156      * 
157      * the map returned by this method is live, and you can add new attribute
158      * by updating the map directly. Because of this design, there's no setter.
159      * 
160      * 
161      * @return
162      *     always non-null
163      */
164     public Map<QName, String> getOtherAttributes() {
165         return otherAttributes;
166     }
167 
168 }