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