001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2015.06.22 at 09:54:13 AM CEST 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.util.HashMap;
012import java.util.Map;
013import javax.xml.bind.annotation.XmlAccessType;
014import javax.xml.bind.annotation.XmlAccessorType;
015import javax.xml.bind.annotation.XmlAnyAttribute;
016import javax.xml.bind.annotation.XmlAttribute;
017import javax.xml.bind.annotation.XmlID;
018import javax.xml.bind.annotation.XmlRootElement;
019import javax.xml.bind.annotation.XmlSchemaType;
020import javax.xml.bind.annotation.XmlType;
021import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
022import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
023import javax.xml.namespace.QName;
024import org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy;
025import org.jvnet.jaxb2_commons.lang.Equals;
026import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
027import org.jvnet.jaxb2_commons.lang.HashCode;
028import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
029import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
030import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
031import org.jvnet.jaxb2_commons.lang.ToString;
032import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
033import org.jvnet.jaxb2_commons.locator.ObjectLocator;
034import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
035
036
037/**
038 * <p>Java class for anonymous complex type.
039 * 
040 * <p>The following schema fragment specifies the expected content contained within this class.
041 * 
042 * <pre>
043 * &lt;complexType>
044 *   &lt;complexContent>
045 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
046 *       &lt;attribute name="local" type="{http://www.w3.org/2001/XMLSchema}boolean" />
047 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
048 *       &lt;attribute name="postfix" type="{http://www.w3.org/2001/XMLSchema}string" />
049 *       &lt;attribute name="prefix" type="{http://www.w3.org/2001/XMLSchema}string" />
050 *       &lt;attribute name="selectorAware" type="{http://www.w3.org/2001/XMLSchema}boolean" />
051 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
052 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
053 *     &lt;/restriction>
054 *   &lt;/complexContent>
055 * &lt;/complexType>
056 * </pre>
057 * 
058 * 
059 */
060@XmlAccessorType(XmlAccessType.FIELD)
061@XmlType(name = "")
062@XmlRootElement(name = "virtualTopic")
063public class DtoVirtualTopic implements Equals, HashCode, ToString
064{
065
066    @XmlAttribute(name = "local")
067    protected Boolean local;
068    @XmlAttribute(name = "name")
069    protected String name;
070    @XmlAttribute(name = "postfix")
071    protected String postfix;
072    @XmlAttribute(name = "prefix")
073    protected String prefix;
074    @XmlAttribute(name = "selectorAware")
075    protected Boolean selectorAware;
076    @XmlAttribute(name = "id")
077    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
078    @XmlID
079    @XmlSchemaType(name = "ID")
080    protected String id;
081    @XmlAnyAttribute
082    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
083
084    /**
085     * Gets the value of the local property.
086     * 
087     * @return
088     *     possible object is
089     *     {@link Boolean }
090     *     
091     */
092    public Boolean isLocal() {
093        return local;
094    }
095
096    /**
097     * Sets the value of the local property.
098     * 
099     * @param value
100     *     allowed object is
101     *     {@link Boolean }
102     *     
103     */
104    public void setLocal(Boolean value) {
105        this.local = value;
106    }
107
108    /**
109     * Gets the value of the name property.
110     * 
111     * @return
112     *     possible object is
113     *     {@link String }
114     *     
115     */
116    public String getName() {
117        return name;
118    }
119
120    /**
121     * Sets the value of the name property.
122     * 
123     * @param value
124     *     allowed object is
125     *     {@link String }
126     *     
127     */
128    public void setName(String value) {
129        this.name = value;
130    }
131
132    /**
133     * Gets the value of the postfix property.
134     * 
135     * @return
136     *     possible object is
137     *     {@link String }
138     *     
139     */
140    public String getPostfix() {
141        return postfix;
142    }
143
144    /**
145     * Sets the value of the postfix property.
146     * 
147     * @param value
148     *     allowed object is
149     *     {@link String }
150     *     
151     */
152    public void setPostfix(String value) {
153        this.postfix = value;
154    }
155
156    /**
157     * Gets the value of the prefix property.
158     * 
159     * @return
160     *     possible object is
161     *     {@link String }
162     *     
163     */
164    public String getPrefix() {
165        return prefix;
166    }
167
168    /**
169     * Sets the value of the prefix property.
170     * 
171     * @param value
172     *     allowed object is
173     *     {@link String }
174     *     
175     */
176    public void setPrefix(String value) {
177        this.prefix = value;
178    }
179
180    /**
181     * Gets the value of the selectorAware property.
182     * 
183     * @return
184     *     possible object is
185     *     {@link Boolean }
186     *     
187     */
188    public Boolean isSelectorAware() {
189        return selectorAware;
190    }
191
192    /**
193     * Sets the value of the selectorAware property.
194     * 
195     * @param value
196     *     allowed object is
197     *     {@link Boolean }
198     *     
199     */
200    public void setSelectorAware(Boolean value) {
201        this.selectorAware = value;
202    }
203
204    /**
205     * Gets the value of the id property.
206     * 
207     * @return
208     *     possible object is
209     *     {@link String }
210     *     
211     */
212    public String getId() {
213        return id;
214    }
215
216    /**
217     * Sets the value of the id property.
218     * 
219     * @param value
220     *     allowed object is
221     *     {@link String }
222     *     
223     */
224    public void setId(String value) {
225        this.id = value;
226    }
227
228    /**
229     * Gets a map that contains attributes that aren't bound to any typed property on this class.
230     * 
231     * <p>
232     * the map is keyed by the name of the attribute and 
233     * the value is the string value of the attribute.
234     * 
235     * the map returned by this method is live, and you can add new attribute
236     * by updating the map directly. Because of this design, there's no setter.
237     * 
238     * 
239     * @return
240     *     always non-null
241     */
242    public Map<QName, String> getOtherAttributes() {
243        return otherAttributes;
244    }
245
246    public String toString() {
247        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
248        final StringBuilder buffer = new StringBuilder();
249        append(null, buffer, strategy);
250        return buffer.toString();
251    }
252
253    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
254        strategy.appendStart(locator, this, buffer);
255        appendFields(locator, buffer, strategy);
256        strategy.appendEnd(locator, this, buffer);
257        return buffer;
258    }
259
260    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
261        {
262            Boolean theLocal;
263            theLocal = this.isLocal();
264            strategy.appendField(locator, this, "local", buffer, theLocal);
265        }
266        {
267            String theName;
268            theName = this.getName();
269            strategy.appendField(locator, this, "name", buffer, theName);
270        }
271        {
272            String thePostfix;
273            thePostfix = this.getPostfix();
274            strategy.appendField(locator, this, "postfix", buffer, thePostfix);
275        }
276        {
277            String thePrefix;
278            thePrefix = this.getPrefix();
279            strategy.appendField(locator, this, "prefix", buffer, thePrefix);
280        }
281        {
282            Boolean theSelectorAware;
283            theSelectorAware = this.isSelectorAware();
284            strategy.appendField(locator, this, "selectorAware", buffer, theSelectorAware);
285        }
286        {
287            String theId;
288            theId = this.getId();
289            strategy.appendField(locator, this, "id", buffer, theId);
290        }
291        return buffer;
292    }
293
294    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
295        int currentHashCode = 1;
296        {
297            Boolean theLocal;
298            theLocal = this.isLocal();
299            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "local", theLocal), currentHashCode, theLocal);
300        }
301        {
302            String theName;
303            theName = this.getName();
304            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName);
305        }
306        {
307            String thePostfix;
308            thePostfix = this.getPostfix();
309            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "postfix", thePostfix), currentHashCode, thePostfix);
310        }
311        {
312            String thePrefix;
313            thePrefix = this.getPrefix();
314            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "prefix", thePrefix), currentHashCode, thePrefix);
315        }
316        {
317            Boolean theSelectorAware;
318            theSelectorAware = this.isSelectorAware();
319            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "selectorAware", theSelectorAware), currentHashCode, theSelectorAware);
320        }
321        {
322            String theId;
323            theId = this.getId();
324            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
325        }
326        return currentHashCode;
327    }
328
329    public int hashCode() {
330        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
331        return this.hashCode(null, strategy);
332    }
333
334    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
335        if (!(object instanceof DtoVirtualTopic)) {
336            return false;
337        }
338        if (this == object) {
339            return true;
340        }
341        final DtoVirtualTopic that = ((DtoVirtualTopic) object);
342        {
343            Boolean lhsLocal;
344            lhsLocal = this.isLocal();
345            Boolean rhsLocal;
346            rhsLocal = that.isLocal();
347            if (!strategy.equals(LocatorUtils.property(thisLocator, "local", lhsLocal), LocatorUtils.property(thatLocator, "local", rhsLocal), lhsLocal, rhsLocal)) {
348                return false;
349            }
350        }
351        {
352            String lhsName;
353            lhsName = this.getName();
354            String rhsName;
355            rhsName = that.getName();
356            if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName)) {
357                return false;
358            }
359        }
360        {
361            String lhsPostfix;
362            lhsPostfix = this.getPostfix();
363            String rhsPostfix;
364            rhsPostfix = that.getPostfix();
365            if (!strategy.equals(LocatorUtils.property(thisLocator, "postfix", lhsPostfix), LocatorUtils.property(thatLocator, "postfix", rhsPostfix), lhsPostfix, rhsPostfix)) {
366                return false;
367            }
368        }
369        {
370            String lhsPrefix;
371            lhsPrefix = this.getPrefix();
372            String rhsPrefix;
373            rhsPrefix = that.getPrefix();
374            if (!strategy.equals(LocatorUtils.property(thisLocator, "prefix", lhsPrefix), LocatorUtils.property(thatLocator, "prefix", rhsPrefix), lhsPrefix, rhsPrefix)) {
375                return false;
376            }
377        }
378        {
379            Boolean lhsSelectorAware;
380            lhsSelectorAware = this.isSelectorAware();
381            Boolean rhsSelectorAware;
382            rhsSelectorAware = that.isSelectorAware();
383            if (!strategy.equals(LocatorUtils.property(thisLocator, "selectorAware", lhsSelectorAware), LocatorUtils.property(thatLocator, "selectorAware", rhsSelectorAware), lhsSelectorAware, rhsSelectorAware)) {
384                return false;
385            }
386        }
387        {
388            String lhsId;
389            lhsId = this.getId();
390            String rhsId;
391            rhsId = that.getId();
392            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
393                return false;
394            }
395        }
396        return true;
397    }
398
399    public boolean equals(Object object) {
400        final EqualsStrategy strategy = new ElementAwareEqualsStrategy();
401        return equals(null, null, object, strategy);
402    }
403
404}