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