001    
002    package org.oasis_open.docs.wsn.t_1;
003    
004    import java.util.HashMap;
005    import java.util.Map;
006    import javax.xml.bind.annotation.XmlAccessType;
007    import javax.xml.bind.annotation.XmlAccessorType;
008    import javax.xml.bind.annotation.XmlAnyAttribute;
009    import javax.xml.bind.annotation.XmlSeeAlso;
010    import javax.xml.bind.annotation.XmlType;
011    import javax.xml.namespace.QName;
012    
013    
014    /**
015     * <p>Java class for ExtensibleDocumented complex type.
016     * 
017     * <p>The following schema fragment specifies the expected content contained within this class.
018     * 
019     * <pre>
020     * &lt;complexType name="ExtensibleDocumented">
021     *   &lt;complexContent>
022     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
023     *       &lt;sequence>
024     *         &lt;element name="documentation" type="{http://docs.oasis-open.org/wsn/t-1}Documentation" minOccurs="0"/>
025     *       &lt;/sequence>
026     *     &lt;/restriction>
027     *   &lt;/complexContent>
028     * &lt;/complexType>
029     * </pre>
030     * 
031     * 
032     */
033    @XmlAccessorType(XmlAccessType.FIELD)
034    @XmlType(name = "ExtensibleDocumented", propOrder = {
035        "documentation"
036    })
037    @XmlSeeAlso({
038        TopicSetType.class,
039        TopicNamespaceType.class,
040        TopicType.class
041    })
042    public abstract class ExtensibleDocumented {
043    
044        protected Documentation documentation;
045        @XmlAnyAttribute
046        private Map<QName, String> otherAttributes = new HashMap<QName, String>();
047    
048        /**
049         * Gets the value of the documentation property.
050         * 
051         * @return
052         *     possible object is
053         *     {@link Documentation }
054         *     
055         */
056        public Documentation getDocumentation() {
057            return documentation;
058        }
059    
060        /**
061         * Sets the value of the documentation property.
062         * 
063         * @param value
064         *     allowed object is
065         *     {@link Documentation }
066         *     
067         */
068        public void setDocumentation(Documentation value) {
069            this.documentation = value;
070        }
071    
072        /**
073         * Gets a map that contains attributes that aren't bound to any typed property on this class.
074         * 
075         * <p>
076         * the map is keyed by the name of the attribute and 
077         * the value is the string value of the attribute.
078         * 
079         * the map returned by this method is live, and you can add new attribute
080         * by updating the map directly. Because of this design, there's no setter.
081         * 
082         * 
083         * @return
084         *     always non-null
085         */
086        public Map<QName, String> getOtherAttributes() {
087            return otherAttributes;
088        }
089    
090    }