001
002 package org.kuali.student.security.policy.dto;
003
004 import java.util.ArrayList;
005 import java.util.HashMap;
006 import java.util.List;
007 import java.util.Map;
008 import javax.xml.bind.annotation.XmlAccessType;
009 import javax.xml.bind.annotation.XmlAccessorType;
010 import javax.xml.bind.annotation.XmlAnyAttribute;
011 import javax.xml.bind.annotation.XmlAnyElement;
012 import javax.xml.bind.annotation.XmlRootElement;
013 import javax.xml.bind.annotation.XmlType;
014 import javax.xml.namespace.QName;
015 import org.w3c.dom.Element;
016
017
018 /**
019 * <p>Java class for anonymous complex type.
020 *
021 * <p>The following schema fragment specifies the expected content contained within this class.
022 *
023 * <pre>
024 * <complexType>
025 * <complexContent>
026 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
027 * <sequence>
028 * <any processContents='lax' maxOccurs="unbounded"/>
029 * </sequence>
030 * <anyAttribute processContents='lax'/>
031 * </restriction>
032 * </complexContent>
033 * </complexType>
034 * </pre>
035 *
036 *
037 */
038 @XmlAccessorType(XmlAccessType.FIELD)
039 @XmlType(name = "", propOrder = {
040 "any"
041 })
042 @XmlRootElement(name = "AppliesTo")
043 public class AppliesTo {
044
045 @XmlAnyElement(lax = true)
046 protected List<Object> any;
047 @XmlAnyAttribute
048 private Map<QName, String> otherAttributes = new HashMap<QName, String>();
049
050 /**
051 * Gets the value of the any property.
052 *
053 * <p>
054 * This accessor method returns a reference to the live list,
055 * not a snapshot. Therefore any modification you make to the
056 * returned list will be present inside the JAXB object.
057 * This is why there is not a <CODE>set</CODE> method for the any property.
058 *
059 * <p>
060 * For example, to add a new item, do as follows:
061 * <pre>
062 * getAny().add(newItem);
063 * </pre>
064 *
065 *
066 * <p>
067 * Objects of the following type(s) are allowed in the list
068 * {@link Object }
069 * {@link Element }
070 *
071 *
072 */
073 public List<Object> getAny() {
074 if (any == null) {
075 any = new ArrayList<Object>();
076 }
077 return this.any;
078 }
079
080 /**
081 * Gets a map that contains attributes that aren't bound to any typed property on this class.
082 *
083 * <p>
084 * the map is keyed by the name of the attribute and
085 * the value is the string value of the attribute.
086 *
087 * the map returned by this method is live, and you can add new attribute
088 * by updating the map directly. Because of this design, there's no setter.
089 *
090 *
091 * @return
092 * always non-null
093 */
094 public Map<QName, String> getOtherAttributes() {
095 return otherAttributes;
096 }
097
098 }