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: 2019.03.15 at 09:00:08 AM EDT 
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="concurrentSend" type="{http://www.w3.org/2001/XMLSchema}boolean" />
047 *       &lt;attribute name="local" type="{http://www.w3.org/2001/XMLSchema}boolean" />
048 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
049 *       &lt;attribute name="postfix" type="{http://www.w3.org/2001/XMLSchema}string" />
050 *       &lt;attribute name="prefix" type="{http://www.w3.org/2001/XMLSchema}string" />
051 *       &lt;attribute name="selectorAware" type="{http://www.w3.org/2001/XMLSchema}boolean" />
052 *       &lt;attribute name="transactedSend" type="{http://www.w3.org/2001/XMLSchema}boolean" />
053 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
054 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
055 *     &lt;/restriction>
056 *   &lt;/complexContent>
057 * &lt;/complexType>
058 * </pre>
059 * 
060 * 
061 */
062@XmlAccessorType(XmlAccessType.FIELD)
063@XmlType(name = "")
064@XmlRootElement(name = "virtualTopic")
065public class DtoVirtualTopic implements Equals, HashCode, ToString
066{
067
068    @XmlAttribute(name = "concurrentSend")
069    protected Boolean concurrentSend;
070    @XmlAttribute(name = "local")
071    protected Boolean local;
072    @XmlAttribute(name = "name")
073    protected String name;
074    @XmlAttribute(name = "postfix")
075    protected String postfix;
076    @XmlAttribute(name = "prefix")
077    protected String prefix;
078    @XmlAttribute(name = "selectorAware")
079    protected Boolean selectorAware;
080    @XmlAttribute(name = "transactedSend")
081    protected Boolean transactedSend;
082    @XmlAttribute(name = "id")
083    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
084    @XmlID
085    @XmlSchemaType(name = "ID")
086    protected String id;
087    @XmlAnyAttribute
088    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
089
090    /**
091     * Gets the value of the concurrentSend property.
092     * 
093     * @return
094     *     possible object is
095     *     {@link Boolean }
096     *     
097     */
098    public Boolean isConcurrentSend() {
099        return concurrentSend;
100    }
101
102    /**
103     * Sets the value of the concurrentSend property.
104     * 
105     * @param value
106     *     allowed object is
107     *     {@link Boolean }
108     *     
109     */
110    public void setConcurrentSend(Boolean value) {
111        this.concurrentSend = value;
112    }
113
114    /**
115     * Gets the value of the local property.
116     * 
117     * @return
118     *     possible object is
119     *     {@link Boolean }
120     *     
121     */
122    public Boolean isLocal() {
123        return local;
124    }
125
126    /**
127     * Sets the value of the local property.
128     * 
129     * @param value
130     *     allowed object is
131     *     {@link Boolean }
132     *     
133     */
134    public void setLocal(Boolean value) {
135        this.local = value;
136    }
137
138    /**
139     * Gets the value of the name property.
140     * 
141     * @return
142     *     possible object is
143     *     {@link String }
144     *     
145     */
146    public String getName() {
147        return name;
148    }
149
150    /**
151     * Sets the value of the name property.
152     * 
153     * @param value
154     *     allowed object is
155     *     {@link String }
156     *     
157     */
158    public void setName(String value) {
159        this.name = value;
160    }
161
162    /**
163     * Gets the value of the postfix property.
164     * 
165     * @return
166     *     possible object is
167     *     {@link String }
168     *     
169     */
170    public String getPostfix() {
171        return postfix;
172    }
173
174    /**
175     * Sets the value of the postfix property.
176     * 
177     * @param value
178     *     allowed object is
179     *     {@link String }
180     *     
181     */
182    public void setPostfix(String value) {
183        this.postfix = value;
184    }
185
186    /**
187     * Gets the value of the prefix property.
188     * 
189     * @return
190     *     possible object is
191     *     {@link String }
192     *     
193     */
194    public String getPrefix() {
195        return prefix;
196    }
197
198    /**
199     * Sets the value of the prefix property.
200     * 
201     * @param value
202     *     allowed object is
203     *     {@link String }
204     *     
205     */
206    public void setPrefix(String value) {
207        this.prefix = value;
208    }
209
210    /**
211     * Gets the value of the selectorAware property.
212     * 
213     * @return
214     *     possible object is
215     *     {@link Boolean }
216     *     
217     */
218    public Boolean isSelectorAware() {
219        return selectorAware;
220    }
221
222    /**
223     * Sets the value of the selectorAware property.
224     * 
225     * @param value
226     *     allowed object is
227     *     {@link Boolean }
228     *     
229     */
230    public void setSelectorAware(Boolean value) {
231        this.selectorAware = value;
232    }
233
234    /**
235     * Gets the value of the transactedSend property.
236     * 
237     * @return
238     *     possible object is
239     *     {@link Boolean }
240     *     
241     */
242    public Boolean isTransactedSend() {
243        return transactedSend;
244    }
245
246    /**
247     * Sets the value of the transactedSend property.
248     * 
249     * @param value
250     *     allowed object is
251     *     {@link Boolean }
252     *     
253     */
254    public void setTransactedSend(Boolean value) {
255        this.transactedSend = value;
256    }
257
258    /**
259     * Gets the value of the id property.
260     * 
261     * @return
262     *     possible object is
263     *     {@link String }
264     *     
265     */
266    public String getId() {
267        return id;
268    }
269
270    /**
271     * Sets the value of the id property.
272     * 
273     * @param value
274     *     allowed object is
275     *     {@link String }
276     *     
277     */
278    public void setId(String value) {
279        this.id = value;
280    }
281
282    /**
283     * Gets a map that contains attributes that aren't bound to any typed property on this class.
284     * 
285     * <p>
286     * the map is keyed by the name of the attribute and 
287     * the value is the string value of the attribute.
288     * 
289     * the map returned by this method is live, and you can add new attribute
290     * by updating the map directly. Because of this design, there's no setter.
291     * 
292     * 
293     * @return
294     *     always non-null
295     */
296    public Map<QName, String> getOtherAttributes() {
297        return otherAttributes;
298    }
299
300    public String toString() {
301        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
302        final StringBuilder buffer = new StringBuilder();
303        append(null, buffer, strategy);
304        return buffer.toString();
305    }
306
307    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
308        strategy.appendStart(locator, this, buffer);
309        appendFields(locator, buffer, strategy);
310        strategy.appendEnd(locator, this, buffer);
311        return buffer;
312    }
313
314    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
315        {
316            Boolean theConcurrentSend;
317            theConcurrentSend = this.isConcurrentSend();
318            strategy.appendField(locator, this, "concurrentSend", buffer, theConcurrentSend);
319        }
320        {
321            Boolean theLocal;
322            theLocal = this.isLocal();
323            strategy.appendField(locator, this, "local", buffer, theLocal);
324        }
325        {
326            String theName;
327            theName = this.getName();
328            strategy.appendField(locator, this, "name", buffer, theName);
329        }
330        {
331            String thePostfix;
332            thePostfix = this.getPostfix();
333            strategy.appendField(locator, this, "postfix", buffer, thePostfix);
334        }
335        {
336            String thePrefix;
337            thePrefix = this.getPrefix();
338            strategy.appendField(locator, this, "prefix", buffer, thePrefix);
339        }
340        {
341            Boolean theSelectorAware;
342            theSelectorAware = this.isSelectorAware();
343            strategy.appendField(locator, this, "selectorAware", buffer, theSelectorAware);
344        }
345        {
346            Boolean theTransactedSend;
347            theTransactedSend = this.isTransactedSend();
348            strategy.appendField(locator, this, "transactedSend", buffer, theTransactedSend);
349        }
350        {
351            String theId;
352            theId = this.getId();
353            strategy.appendField(locator, this, "id", buffer, theId);
354        }
355        return buffer;
356    }
357
358    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
359        int currentHashCode = 1;
360        {
361            Boolean theConcurrentSend;
362            theConcurrentSend = this.isConcurrentSend();
363            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "concurrentSend", theConcurrentSend), currentHashCode, theConcurrentSend);
364        }
365        {
366            Boolean theLocal;
367            theLocal = this.isLocal();
368            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "local", theLocal), currentHashCode, theLocal);
369        }
370        {
371            String theName;
372            theName = this.getName();
373            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName);
374        }
375        {
376            String thePostfix;
377            thePostfix = this.getPostfix();
378            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "postfix", thePostfix), currentHashCode, thePostfix);
379        }
380        {
381            String thePrefix;
382            thePrefix = this.getPrefix();
383            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "prefix", thePrefix), currentHashCode, thePrefix);
384        }
385        {
386            Boolean theSelectorAware;
387            theSelectorAware = this.isSelectorAware();
388            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "selectorAware", theSelectorAware), currentHashCode, theSelectorAware);
389        }
390        {
391            Boolean theTransactedSend;
392            theTransactedSend = this.isTransactedSend();
393            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "transactedSend", theTransactedSend), currentHashCode, theTransactedSend);
394        }
395        {
396            String theId;
397            theId = this.getId();
398            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
399        }
400        return currentHashCode;
401    }
402
403    public int hashCode() {
404        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
405        return this.hashCode(null, strategy);
406    }
407
408    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
409        if (!(object instanceof DtoVirtualTopic)) {
410            return false;
411        }
412        if (this == object) {
413            return true;
414        }
415        final DtoVirtualTopic that = ((DtoVirtualTopic) object);
416        {
417            Boolean lhsConcurrentSend;
418            lhsConcurrentSend = this.isConcurrentSend();
419            Boolean rhsConcurrentSend;
420            rhsConcurrentSend = that.isConcurrentSend();
421            if (!strategy.equals(LocatorUtils.property(thisLocator, "concurrentSend", lhsConcurrentSend), LocatorUtils.property(thatLocator, "concurrentSend", rhsConcurrentSend), lhsConcurrentSend, rhsConcurrentSend)) {
422                return false;
423            }
424        }
425        {
426            Boolean lhsLocal;
427            lhsLocal = this.isLocal();
428            Boolean rhsLocal;
429            rhsLocal = that.isLocal();
430            if (!strategy.equals(LocatorUtils.property(thisLocator, "local", lhsLocal), LocatorUtils.property(thatLocator, "local", rhsLocal), lhsLocal, rhsLocal)) {
431                return false;
432            }
433        }
434        {
435            String lhsName;
436            lhsName = this.getName();
437            String rhsName;
438            rhsName = that.getName();
439            if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName)) {
440                return false;
441            }
442        }
443        {
444            String lhsPostfix;
445            lhsPostfix = this.getPostfix();
446            String rhsPostfix;
447            rhsPostfix = that.getPostfix();
448            if (!strategy.equals(LocatorUtils.property(thisLocator, "postfix", lhsPostfix), LocatorUtils.property(thatLocator, "postfix", rhsPostfix), lhsPostfix, rhsPostfix)) {
449                return false;
450            }
451        }
452        {
453            String lhsPrefix;
454            lhsPrefix = this.getPrefix();
455            String rhsPrefix;
456            rhsPrefix = that.getPrefix();
457            if (!strategy.equals(LocatorUtils.property(thisLocator, "prefix", lhsPrefix), LocatorUtils.property(thatLocator, "prefix", rhsPrefix), lhsPrefix, rhsPrefix)) {
458                return false;
459            }
460        }
461        {
462            Boolean lhsSelectorAware;
463            lhsSelectorAware = this.isSelectorAware();
464            Boolean rhsSelectorAware;
465            rhsSelectorAware = that.isSelectorAware();
466            if (!strategy.equals(LocatorUtils.property(thisLocator, "selectorAware", lhsSelectorAware), LocatorUtils.property(thatLocator, "selectorAware", rhsSelectorAware), lhsSelectorAware, rhsSelectorAware)) {
467                return false;
468            }
469        }
470        {
471            Boolean lhsTransactedSend;
472            lhsTransactedSend = this.isTransactedSend();
473            Boolean rhsTransactedSend;
474            rhsTransactedSend = that.isTransactedSend();
475            if (!strategy.equals(LocatorUtils.property(thisLocator, "transactedSend", lhsTransactedSend), LocatorUtils.property(thatLocator, "transactedSend", rhsTransactedSend), lhsTransactedSend, rhsTransactedSend)) {
476                return false;
477            }
478        }
479        {
480            String lhsId;
481            lhsId = this.getId();
482            String rhsId;
483            rhsId = that.getId();
484            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
485                return false;
486            }
487        }
488        return true;
489    }
490
491    public boolean equals(Object object) {
492        final EqualsStrategy strategy = new ElementAwareEqualsStrategy();
493        return equals(null, null, object, strategy);
494    }
495
496}