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 * <complexType>
27 * <complexContent>
28 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
29 * <sequence>
30 * <element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}AppliesTo"/>
31 * <choice maxOccurs="unbounded">
32 * <element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy"/>
33 * <element ref="{http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyReference"/>
34 * </choice>
35 * <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
36 * </sequence>
37 * <anyAttribute processContents='lax'/>
38 * </restriction>
39 * </complexContent>
40 * </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 }