001
002 package org.w3._2005._08.addressing;
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.XmlElement;
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 EndpointReferenceType complex type.
020 *
021 * <p>The following schema fragment specifies the expected content contained within this class.
022 *
023 * <pre>
024 * <complexType name="EndpointReferenceType">
025 * <complexContent>
026 * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
027 * <sequence>
028 * <element name="Address" type="{http://www.w3.org/2005/08/addressing}AttributedURIType"/>
029 * <element name="ReferenceParameters" type="{http://www.w3.org/2005/08/addressing}ReferenceParametersType" minOccurs="0"/>
030 * <element ref="{http://www.w3.org/2005/08/addressing}Metadata" minOccurs="0"/>
031 * <any/>
032 * </sequence>
033 * </restriction>
034 * </complexContent>
035 * </complexType>
036 * </pre>
037 *
038 *
039 */
040 @XmlAccessorType(XmlAccessType.FIELD)
041 @XmlType(name = "EndpointReferenceType", propOrder = {
042 "address",
043 "referenceParameters",
044 "metadata",
045 "any"
046 })
047 public class EndpointReferenceType {
048
049 @XmlElement(name = "Address", required = true)
050 protected AttributedURIType address;
051 @XmlElement(name = "ReferenceParameters")
052 protected ReferenceParametersType referenceParameters;
053 @XmlElement(name = "Metadata")
054 protected MetadataType metadata;
055 @XmlAnyElement(lax = true)
056 protected List<Object> any;
057 @XmlAnyAttribute
058 private Map<QName, String> otherAttributes = new HashMap<QName, String>();
059
060 /**
061 * Gets the value of the address property.
062 *
063 * @return
064 * possible object is
065 * {@link AttributedURIType }
066 *
067 */
068 public AttributedURIType getAddress() {
069 return address;
070 }
071
072 /**
073 * Sets the value of the address property.
074 *
075 * @param value
076 * allowed object is
077 * {@link AttributedURIType }
078 *
079 */
080 public void setAddress(AttributedURIType value) {
081 this.address = value;
082 }
083
084 /**
085 * Gets the value of the referenceParameters property.
086 *
087 * @return
088 * possible object is
089 * {@link ReferenceParametersType }
090 *
091 */
092 public ReferenceParametersType getReferenceParameters() {
093 return referenceParameters;
094 }
095
096 /**
097 * Sets the value of the referenceParameters property.
098 *
099 * @param value
100 * allowed object is
101 * {@link ReferenceParametersType }
102 *
103 */
104 public void setReferenceParameters(ReferenceParametersType value) {
105 this.referenceParameters = value;
106 }
107
108 /**
109 * Gets the value of the metadata property.
110 *
111 * @return
112 * possible object is
113 * {@link MetadataType }
114 *
115 */
116 public MetadataType getMetadata() {
117 return metadata;
118 }
119
120 /**
121 * Sets the value of the metadata property.
122 *
123 * @param value
124 * allowed object is
125 * {@link MetadataType }
126 *
127 */
128 public void setMetadata(MetadataType value) {
129 this.metadata = value;
130 }
131
132 /**
133 * Gets the value of the any property.
134 *
135 * <p>
136 * This accessor method returns a reference to the live list,
137 * not a snapshot. Therefore any modification you make to the
138 * returned list will be present inside the JAXB object.
139 * This is why there is not a <CODE>set</CODE> method for the any property.
140 *
141 * <p>
142 * For example, to add a new item, do as follows:
143 * <pre>
144 * getAny().add(newItem);
145 * </pre>
146 *
147 *
148 * <p>
149 * Objects of the following type(s) are allowed in the list
150 * {@link Object }
151 * {@link Element }
152 *
153 *
154 */
155 public List<Object> getAny() {
156 if (any == null) {
157 any = new ArrayList<Object>();
158 }
159 return this.any;
160 }
161
162 /**
163 * Gets a map that contains attributes that aren't bound to any typed property on this class.
164 *
165 * <p>
166 * the map is keyed by the name of the attribute and
167 * the value is the string value of the attribute.
168 *
169 * the map returned by this method is live, and you can add new attribute
170 * by updating the map directly. Because of this design, there's no setter.
171 *
172 *
173 * @return
174 * always non-null
175 */
176 public Map<QName, String> getOtherAttributes() {
177 return otherAttributes;
178 }
179
180 }