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 }