001    
002    package org.oasis_open.docs.wsn.b_2;
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.XmlAttribute;
013    import javax.xml.bind.annotation.XmlMixed;
014    import javax.xml.bind.annotation.XmlSchemaType;
015    import javax.xml.bind.annotation.XmlType;
016    import javax.xml.namespace.QName;
017    import org.w3c.dom.Element;
018    
019    
020    /**
021     * <p>Java class for TopicExpressionType complex type.
022     * 
023     * <p>The following schema fragment specifies the expected content contained within this class.
024     * 
025     * <pre>
026     * &lt;complexType name="TopicExpressionType">
027     *   &lt;complexContent>
028     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
029     *       &lt;sequence>
030     *         &lt;any processContents='lax' minOccurs="0"/>
031     *       &lt;/sequence>
032     *       &lt;attribute name="Dialect" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
033     *       &lt;anyAttribute/>
034     *     &lt;/restriction>
035     *   &lt;/complexContent>
036     * &lt;/complexType>
037     * </pre>
038     * 
039     * 
040     */
041    @XmlAccessorType(XmlAccessType.FIELD)
042    @XmlType(name = "TopicExpressionType", propOrder = {
043        "content"
044    })
045    public class TopicExpressionType {
046    
047        @XmlMixed
048        @XmlAnyElement(lax = true)
049        protected List<Object> content;
050        @XmlAttribute(name = "Dialect", required = true)
051        @XmlSchemaType(name = "anyURI")
052        protected String dialect;
053        @XmlAnyAttribute
054        private Map<QName, String> otherAttributes = new HashMap<QName, String>();
055    
056        /**
057         * Gets the value of the content property.
058         * 
059         * <p>
060         * This accessor method returns a reference to the live list,
061         * not a snapshot. Therefore any modification you make to the
062         * returned list will be present inside the JAXB object.
063         * This is why there is not a <CODE>set</CODE> method for the content property.
064         * 
065         * <p>
066         * For example, to add a new item, do as follows:
067         * <pre>
068         *    getContent().add(newItem);
069         * </pre>
070         * 
071         * 
072         * <p>
073         * Objects of the following type(s) are allowed in the list
074         * {@link String }
075         * {@link Object }
076         * {@link Element }
077         * 
078         * 
079         */
080        public List<Object> getContent() {
081            if (content == null) {
082                content = new ArrayList<Object>();
083            }
084            return this.content;
085        }
086    
087        /**
088         * Gets the value of the dialect property.
089         * 
090         * @return
091         *     possible object is
092         *     {@link String }
093         *     
094         */
095        public String getDialect() {
096            return dialect;
097        }
098    
099        /**
100         * Sets the value of the dialect property.
101         * 
102         * @param value
103         *     allowed object is
104         *     {@link String }
105         *     
106         */
107        public void setDialect(String value) {
108            this.dialect = value;
109        }
110    
111        /**
112         * Gets a map that contains attributes that aren't bound to any typed property on this class.
113         * 
114         * <p>
115         * the map is keyed by the name of the attribute and 
116         * the value is the string value of the attribute.
117         * 
118         * the map returned by this method is live, and you can add new attribute
119         * by updating the map directly. Because of this design, there's no setter.
120         * 
121         * 
122         * @return
123         *     always non-null
124         */
125        public Map<QName, String> getOtherAttributes() {
126            return otherAttributes;
127        }
128    
129    }