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 }