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: 2016.12.22 at 10:49:59 AM EST 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.util.ArrayList;
012import java.util.HashMap;
013import java.util.List;
014import java.util.Map;
015import javax.xml.bind.JAXBElement;
016import javax.xml.bind.annotation.XmlAccessType;
017import javax.xml.bind.annotation.XmlAccessorType;
018import javax.xml.bind.annotation.XmlAnyAttribute;
019import javax.xml.bind.annotation.XmlAnyElement;
020import javax.xml.bind.annotation.XmlAttribute;
021import javax.xml.bind.annotation.XmlElementRef;
022import javax.xml.bind.annotation.XmlID;
023import javax.xml.bind.annotation.XmlRootElement;
024import javax.xml.bind.annotation.XmlSchemaType;
025import javax.xml.bind.annotation.XmlType;
026import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
027import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
028import javax.xml.namespace.QName;
029import org.jvnet.jaxb2_commons.lang.Equals;
030import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
031import org.jvnet.jaxb2_commons.lang.HashCode;
032import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
033import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
034import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
035import org.jvnet.jaxb2_commons.lang.ToString;
036import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
037import org.jvnet.jaxb2_commons.locator.ObjectLocator;
038import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
039
040
041/**
042 * <p>Java class for anonymous complex type.
043 * 
044 * <p>The following schema fragment specifies the expected content contained within this class.
045 * 
046 * <pre>
047 * &lt;complexType>
048 *   &lt;complexContent>
049 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
050 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
051 *         &lt;choice>
052 *           &lt;element name="deadLetterQueue" minOccurs="0">
053 *             &lt;complexType>
054 *               &lt;complexContent>
055 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
056 *                   &lt;choice minOccurs="0">
057 *                     &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
058 *                     &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
059 *                     &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
060 *                     &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
061 *                     &lt;any namespace='##other'/>
062 *                   &lt;/choice>
063 *                 &lt;/restriction>
064 *               &lt;/complexContent>
065 *             &lt;/complexType>
066 *           &lt;/element>
067 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
068 *         &lt;/choice>
069 *       &lt;/choice>
070 *       &lt;attribute name="deadLetterQueue" type="{http://www.w3.org/2001/XMLSchema}string" />
071 *       &lt;attribute name="enableAudit" type="{http://www.w3.org/2001/XMLSchema}boolean" />
072 *       &lt;attribute name="expiration" type="{http://www.w3.org/2001/XMLSchema}long" />
073 *       &lt;attribute name="processExpired" type="{http://www.w3.org/2001/XMLSchema}boolean" />
074 *       &lt;attribute name="processNonPersistent" type="{http://www.w3.org/2001/XMLSchema}boolean" />
075 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
076 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
077 *     &lt;/restriction>
078 *   &lt;/complexContent>
079 * &lt;/complexType>
080 * </pre>
081 * 
082 * 
083 */
084@XmlAccessorType(XmlAccessType.FIELD)
085@XmlType(name = "", propOrder = {
086    "deadLetterQueueOrAny"
087})
088@XmlRootElement(name = "sharedDeadLetterStrategy")
089public class DtoSharedDeadLetterStrategy
090    implements Equals, HashCode, ToString
091{
092
093    @XmlElementRef(name = "deadLetterQueue", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
094    @XmlAnyElement(lax = true)
095    protected List<Object> deadLetterQueueOrAny;
096    @XmlAttribute(name = "deadLetterQueue")
097    protected String deadLetterQueue;
098    @XmlAttribute(name = "enableAudit")
099    protected Boolean enableAudit;
100    @XmlAttribute(name = "expiration")
101    protected Long expiration;
102    @XmlAttribute(name = "processExpired")
103    protected Boolean processExpired;
104    @XmlAttribute(name = "processNonPersistent")
105    protected Boolean processNonPersistent;
106    @XmlAttribute(name = "id")
107    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
108    @XmlID
109    @XmlSchemaType(name = "ID")
110    protected String id;
111    @XmlAnyAttribute
112    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
113
114    /**
115     * Gets the value of the deadLetterQueueOrAny property.
116     * 
117     * <p>
118     * This accessor method returns a reference to the live list,
119     * not a snapshot. Therefore any modification you make to the
120     * returned list will be present inside the JAXB object.
121     * This is why there is not a <CODE>set</CODE> method for the deadLetterQueueOrAny property.
122     * 
123     * <p>
124     * For example, to add a new item, do as follows:
125     * <pre>
126     *    getDeadLetterQueueOrAny().add(newItem);
127     * </pre>
128     * 
129     * 
130     * <p>
131     * Objects of the following type(s) are allowed in the list
132     * {@link Object }
133     * {@link JAXBElement }{@code <}{@link DtoSharedDeadLetterStrategy.DeadLetterQueue }{@code >}
134     * 
135     * 
136     */
137    public List<Object> getDeadLetterQueueOrAny() {
138        if (deadLetterQueueOrAny == null) {
139            deadLetterQueueOrAny = new ArrayList<Object>();
140        }
141        return this.deadLetterQueueOrAny;
142    }
143
144    /**
145     * Gets the value of the deadLetterQueue property.
146     * 
147     * @return
148     *     possible object is
149     *     {@link String }
150     *     
151     */
152    public String getDeadLetterQueue() {
153        return deadLetterQueue;
154    }
155
156    /**
157     * Sets the value of the deadLetterQueue property.
158     * 
159     * @param value
160     *     allowed object is
161     *     {@link String }
162     *     
163     */
164    public void setDeadLetterQueue(String value) {
165        this.deadLetterQueue = value;
166    }
167
168    /**
169     * Gets the value of the enableAudit property.
170     * 
171     * @return
172     *     possible object is
173     *     {@link Boolean }
174     *     
175     */
176    public Boolean isEnableAudit() {
177        return enableAudit;
178    }
179
180    /**
181     * Sets the value of the enableAudit property.
182     * 
183     * @param value
184     *     allowed object is
185     *     {@link Boolean }
186     *     
187     */
188    public void setEnableAudit(Boolean value) {
189        this.enableAudit = value;
190    }
191
192    /**
193     * Gets the value of the expiration property.
194     * 
195     * @return
196     *     possible object is
197     *     {@link Long }
198     *     
199     */
200    public Long getExpiration() {
201        return expiration;
202    }
203
204    /**
205     * Sets the value of the expiration property.
206     * 
207     * @param value
208     *     allowed object is
209     *     {@link Long }
210     *     
211     */
212    public void setExpiration(Long value) {
213        this.expiration = value;
214    }
215
216    /**
217     * Gets the value of the processExpired property.
218     * 
219     * @return
220     *     possible object is
221     *     {@link Boolean }
222     *     
223     */
224    public Boolean isProcessExpired() {
225        return processExpired;
226    }
227
228    /**
229     * Sets the value of the processExpired property.
230     * 
231     * @param value
232     *     allowed object is
233     *     {@link Boolean }
234     *     
235     */
236    public void setProcessExpired(Boolean value) {
237        this.processExpired = value;
238    }
239
240    /**
241     * Gets the value of the processNonPersistent property.
242     * 
243     * @return
244     *     possible object is
245     *     {@link Boolean }
246     *     
247     */
248    public Boolean isProcessNonPersistent() {
249        return processNonPersistent;
250    }
251
252    /**
253     * Sets the value of the processNonPersistent property.
254     * 
255     * @param value
256     *     allowed object is
257     *     {@link Boolean }
258     *     
259     */
260    public void setProcessNonPersistent(Boolean value) {
261        this.processNonPersistent = value;
262    }
263
264    /**
265     * Gets the value of the id property.
266     * 
267     * @return
268     *     possible object is
269     *     {@link String }
270     *     
271     */
272    public String getId() {
273        return id;
274    }
275
276    /**
277     * Sets the value of the id property.
278     * 
279     * @param value
280     *     allowed object is
281     *     {@link String }
282     *     
283     */
284    public void setId(String value) {
285        this.id = value;
286    }
287
288    /**
289     * Gets a map that contains attributes that aren't bound to any typed property on this class.
290     * 
291     * <p>
292     * the map is keyed by the name of the attribute and 
293     * the value is the string value of the attribute.
294     * 
295     * the map returned by this method is live, and you can add new attribute
296     * by updating the map directly. Because of this design, there's no setter.
297     * 
298     * 
299     * @return
300     *     always non-null
301     */
302    public Map<QName, String> getOtherAttributes() {
303        return otherAttributes;
304    }
305
306    public String toString() {
307        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
308        final StringBuilder buffer = new StringBuilder();
309        append(null, buffer, strategy);
310        return buffer.toString();
311    }
312
313    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
314        strategy.appendStart(locator, this, buffer);
315        appendFields(locator, buffer, strategy);
316        strategy.appendEnd(locator, this, buffer);
317        return buffer;
318    }
319
320    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
321        {
322            List<Object> theDeadLetterQueueOrAny;
323            theDeadLetterQueueOrAny = (((this.deadLetterQueueOrAny!= null)&&(!this.deadLetterQueueOrAny.isEmpty()))?this.getDeadLetterQueueOrAny():null);
324            strategy.appendField(locator, this, "deadLetterQueueOrAny", buffer, theDeadLetterQueueOrAny);
325        }
326        {
327            String theDeadLetterQueue;
328            theDeadLetterQueue = this.getDeadLetterQueue();
329            strategy.appendField(locator, this, "deadLetterQueue", buffer, theDeadLetterQueue);
330        }
331        {
332            Boolean theEnableAudit;
333            theEnableAudit = this.isEnableAudit();
334            strategy.appendField(locator, this, "enableAudit", buffer, theEnableAudit);
335        }
336        {
337            Long theExpiration;
338            theExpiration = this.getExpiration();
339            strategy.appendField(locator, this, "expiration", buffer, theExpiration);
340        }
341        {
342            Boolean theProcessExpired;
343            theProcessExpired = this.isProcessExpired();
344            strategy.appendField(locator, this, "processExpired", buffer, theProcessExpired);
345        }
346        {
347            Boolean theProcessNonPersistent;
348            theProcessNonPersistent = this.isProcessNonPersistent();
349            strategy.appendField(locator, this, "processNonPersistent", buffer, theProcessNonPersistent);
350        }
351        {
352            String theId;
353            theId = this.getId();
354            strategy.appendField(locator, this, "id", buffer, theId);
355        }
356        return buffer;
357    }
358
359    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
360        int currentHashCode = 1;
361        {
362            List<Object> theDeadLetterQueueOrAny;
363            theDeadLetterQueueOrAny = (((this.deadLetterQueueOrAny!= null)&&(!this.deadLetterQueueOrAny.isEmpty()))?this.getDeadLetterQueueOrAny():null);
364            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "deadLetterQueueOrAny", theDeadLetterQueueOrAny), currentHashCode, theDeadLetterQueueOrAny);
365        }
366        {
367            String theDeadLetterQueue;
368            theDeadLetterQueue = this.getDeadLetterQueue();
369            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "deadLetterQueue", theDeadLetterQueue), currentHashCode, theDeadLetterQueue);
370        }
371        {
372            Boolean theEnableAudit;
373            theEnableAudit = this.isEnableAudit();
374            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "enableAudit", theEnableAudit), currentHashCode, theEnableAudit);
375        }
376        {
377            Long theExpiration;
378            theExpiration = this.getExpiration();
379            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "expiration", theExpiration), currentHashCode, theExpiration);
380        }
381        {
382            Boolean theProcessExpired;
383            theProcessExpired = this.isProcessExpired();
384            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "processExpired", theProcessExpired), currentHashCode, theProcessExpired);
385        }
386        {
387            Boolean theProcessNonPersistent;
388            theProcessNonPersistent = this.isProcessNonPersistent();
389            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "processNonPersistent", theProcessNonPersistent), currentHashCode, theProcessNonPersistent);
390        }
391        {
392            String theId;
393            theId = this.getId();
394            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
395        }
396        return currentHashCode;
397    }
398
399    public int hashCode() {
400        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
401        return this.hashCode(null, strategy);
402    }
403
404    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
405        if (!(object instanceof DtoSharedDeadLetterStrategy)) {
406            return false;
407        }
408        if (this == object) {
409            return true;
410        }
411        final DtoSharedDeadLetterStrategy that = ((DtoSharedDeadLetterStrategy) object);
412        {
413            List<Object> lhsDeadLetterQueueOrAny;
414            lhsDeadLetterQueueOrAny = (((this.deadLetterQueueOrAny!= null)&&(!this.deadLetterQueueOrAny.isEmpty()))?this.getDeadLetterQueueOrAny():null);
415            List<Object> rhsDeadLetterQueueOrAny;
416            rhsDeadLetterQueueOrAny = (((that.deadLetterQueueOrAny!= null)&&(!that.deadLetterQueueOrAny.isEmpty()))?that.getDeadLetterQueueOrAny():null);
417            if (!strategy.equals(LocatorUtils.property(thisLocator, "deadLetterQueueOrAny", lhsDeadLetterQueueOrAny), LocatorUtils.property(thatLocator, "deadLetterQueueOrAny", rhsDeadLetterQueueOrAny), lhsDeadLetterQueueOrAny, rhsDeadLetterQueueOrAny)) {
418                return false;
419            }
420        }
421        {
422            String lhsDeadLetterQueue;
423            lhsDeadLetterQueue = this.getDeadLetterQueue();
424            String rhsDeadLetterQueue;
425            rhsDeadLetterQueue = that.getDeadLetterQueue();
426            if (!strategy.equals(LocatorUtils.property(thisLocator, "deadLetterQueue", lhsDeadLetterQueue), LocatorUtils.property(thatLocator, "deadLetterQueue", rhsDeadLetterQueue), lhsDeadLetterQueue, rhsDeadLetterQueue)) {
427                return false;
428            }
429        }
430        {
431            Boolean lhsEnableAudit;
432            lhsEnableAudit = this.isEnableAudit();
433            Boolean rhsEnableAudit;
434            rhsEnableAudit = that.isEnableAudit();
435            if (!strategy.equals(LocatorUtils.property(thisLocator, "enableAudit", lhsEnableAudit), LocatorUtils.property(thatLocator, "enableAudit", rhsEnableAudit), lhsEnableAudit, rhsEnableAudit)) {
436                return false;
437            }
438        }
439        {
440            Long lhsExpiration;
441            lhsExpiration = this.getExpiration();
442            Long rhsExpiration;
443            rhsExpiration = that.getExpiration();
444            if (!strategy.equals(LocatorUtils.property(thisLocator, "expiration", lhsExpiration), LocatorUtils.property(thatLocator, "expiration", rhsExpiration), lhsExpiration, rhsExpiration)) {
445                return false;
446            }
447        }
448        {
449            Boolean lhsProcessExpired;
450            lhsProcessExpired = this.isProcessExpired();
451            Boolean rhsProcessExpired;
452            rhsProcessExpired = that.isProcessExpired();
453            if (!strategy.equals(LocatorUtils.property(thisLocator, "processExpired", lhsProcessExpired), LocatorUtils.property(thatLocator, "processExpired", rhsProcessExpired), lhsProcessExpired, rhsProcessExpired)) {
454                return false;
455            }
456        }
457        {
458            Boolean lhsProcessNonPersistent;
459            lhsProcessNonPersistent = this.isProcessNonPersistent();
460            Boolean rhsProcessNonPersistent;
461            rhsProcessNonPersistent = that.isProcessNonPersistent();
462            if (!strategy.equals(LocatorUtils.property(thisLocator, "processNonPersistent", lhsProcessNonPersistent), LocatorUtils.property(thatLocator, "processNonPersistent", rhsProcessNonPersistent), lhsProcessNonPersistent, rhsProcessNonPersistent)) {
463                return false;
464            }
465        }
466        {
467            String lhsId;
468            lhsId = this.getId();
469            String rhsId;
470            rhsId = that.getId();
471            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
472                return false;
473            }
474        }
475        return true;
476    }
477
478    public boolean equals(Object object) {
479        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
480        return equals(null, null, object, strategy);
481    }
482
483
484    /**
485     * <p>Java class for anonymous complex type.
486     * 
487     * <p>The following schema fragment specifies the expected content contained within this class.
488     * 
489     * <pre>
490     * &lt;complexType>
491     *   &lt;complexContent>
492     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
493     *       &lt;choice minOccurs="0">
494     *         &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
495     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
496     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
497     *         &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
498     *         &lt;any namespace='##other'/>
499     *       &lt;/choice>
500     *     &lt;/restriction>
501     *   &lt;/complexContent>
502     * &lt;/complexType>
503     * </pre>
504     * 
505     * 
506     */
507    @XmlAccessorType(XmlAccessType.FIELD)
508    @XmlType(name = "", propOrder = {
509        "queue",
510        "tempQueue",
511        "tempTopic",
512        "topic",
513        "any"
514    })
515    public static class DeadLetterQueue
516        implements Equals, HashCode, ToString
517    {
518
519        protected DtoQueue queue;
520        protected DtoTempQueue tempQueue;
521        protected DtoTempTopic tempTopic;
522        protected DtoTopic topic;
523        @XmlAnyElement(lax = true)
524        protected Object any;
525
526        /**
527         * Gets the value of the queue property.
528         * 
529         * @return
530         *     possible object is
531         *     {@link DtoQueue }
532         *     
533         */
534        public DtoQueue getQueue() {
535            return queue;
536        }
537
538        /**
539         * Sets the value of the queue property.
540         * 
541         * @param value
542         *     allowed object is
543         *     {@link DtoQueue }
544         *     
545         */
546        public void setQueue(DtoQueue value) {
547            this.queue = value;
548        }
549
550        /**
551         * Gets the value of the tempQueue property.
552         * 
553         * @return
554         *     possible object is
555         *     {@link DtoTempQueue }
556         *     
557         */
558        public DtoTempQueue getTempQueue() {
559            return tempQueue;
560        }
561
562        /**
563         * Sets the value of the tempQueue property.
564         * 
565         * @param value
566         *     allowed object is
567         *     {@link DtoTempQueue }
568         *     
569         */
570        public void setTempQueue(DtoTempQueue value) {
571            this.tempQueue = value;
572        }
573
574        /**
575         * Gets the value of the tempTopic property.
576         * 
577         * @return
578         *     possible object is
579         *     {@link DtoTempTopic }
580         *     
581         */
582        public DtoTempTopic getTempTopic() {
583            return tempTopic;
584        }
585
586        /**
587         * Sets the value of the tempTopic property.
588         * 
589         * @param value
590         *     allowed object is
591         *     {@link DtoTempTopic }
592         *     
593         */
594        public void setTempTopic(DtoTempTopic value) {
595            this.tempTopic = value;
596        }
597
598        /**
599         * Gets the value of the topic property.
600         * 
601         * @return
602         *     possible object is
603         *     {@link DtoTopic }
604         *     
605         */
606        public DtoTopic getTopic() {
607            return topic;
608        }
609
610        /**
611         * Sets the value of the topic property.
612         * 
613         * @param value
614         *     allowed object is
615         *     {@link DtoTopic }
616         *     
617         */
618        public void setTopic(DtoTopic value) {
619            this.topic = value;
620        }
621
622        /**
623         * Gets the value of the any property.
624         * 
625         * @return
626         *     possible object is
627         *     {@link Object }
628         *     
629         */
630        public Object getAny() {
631            return any;
632        }
633
634        /**
635         * Sets the value of the any property.
636         * 
637         * @param value
638         *     allowed object is
639         *     {@link Object }
640         *     
641         */
642        public void setAny(Object value) {
643            this.any = value;
644        }
645
646        public String toString() {
647            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
648            final StringBuilder buffer = new StringBuilder();
649            append(null, buffer, strategy);
650            return buffer.toString();
651        }
652
653        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
654            strategy.appendStart(locator, this, buffer);
655            appendFields(locator, buffer, strategy);
656            strategy.appendEnd(locator, this, buffer);
657            return buffer;
658        }
659
660        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
661            {
662                DtoQueue theQueue;
663                theQueue = this.getQueue();
664                strategy.appendField(locator, this, "queue", buffer, theQueue);
665            }
666            {
667                DtoTempQueue theTempQueue;
668                theTempQueue = this.getTempQueue();
669                strategy.appendField(locator, this, "tempQueue", buffer, theTempQueue);
670            }
671            {
672                DtoTempTopic theTempTopic;
673                theTempTopic = this.getTempTopic();
674                strategy.appendField(locator, this, "tempTopic", buffer, theTempTopic);
675            }
676            {
677                DtoTopic theTopic;
678                theTopic = this.getTopic();
679                strategy.appendField(locator, this, "topic", buffer, theTopic);
680            }
681            {
682                Object theAny;
683                theAny = this.getAny();
684                strategy.appendField(locator, this, "any", buffer, theAny);
685            }
686            return buffer;
687        }
688
689        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
690            int currentHashCode = 1;
691            {
692                DtoQueue theQueue;
693                theQueue = this.getQueue();
694                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queue", theQueue), currentHashCode, theQueue);
695            }
696            {
697                DtoTempQueue theTempQueue;
698                theTempQueue = this.getTempQueue();
699                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempQueue", theTempQueue), currentHashCode, theTempQueue);
700            }
701            {
702                DtoTempTopic theTempTopic;
703                theTempTopic = this.getTempTopic();
704                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempTopic", theTempTopic), currentHashCode, theTempTopic);
705            }
706            {
707                DtoTopic theTopic;
708                theTopic = this.getTopic();
709                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topic", theTopic), currentHashCode, theTopic);
710            }
711            {
712                Object theAny;
713                theAny = this.getAny();
714                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
715            }
716            return currentHashCode;
717        }
718
719        public int hashCode() {
720            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
721            return this.hashCode(null, strategy);
722        }
723
724        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
725            if (!(object instanceof DtoSharedDeadLetterStrategy.DeadLetterQueue)) {
726                return false;
727            }
728            if (this == object) {
729                return true;
730            }
731            final DtoSharedDeadLetterStrategy.DeadLetterQueue that = ((DtoSharedDeadLetterStrategy.DeadLetterQueue) object);
732            {
733                DtoQueue lhsQueue;
734                lhsQueue = this.getQueue();
735                DtoQueue rhsQueue;
736                rhsQueue = that.getQueue();
737                if (!strategy.equals(LocatorUtils.property(thisLocator, "queue", lhsQueue), LocatorUtils.property(thatLocator, "queue", rhsQueue), lhsQueue, rhsQueue)) {
738                    return false;
739                }
740            }
741            {
742                DtoTempQueue lhsTempQueue;
743                lhsTempQueue = this.getTempQueue();
744                DtoTempQueue rhsTempQueue;
745                rhsTempQueue = that.getTempQueue();
746                if (!strategy.equals(LocatorUtils.property(thisLocator, "tempQueue", lhsTempQueue), LocatorUtils.property(thatLocator, "tempQueue", rhsTempQueue), lhsTempQueue, rhsTempQueue)) {
747                    return false;
748                }
749            }
750            {
751                DtoTempTopic lhsTempTopic;
752                lhsTempTopic = this.getTempTopic();
753                DtoTempTopic rhsTempTopic;
754                rhsTempTopic = that.getTempTopic();
755                if (!strategy.equals(LocatorUtils.property(thisLocator, "tempTopic", lhsTempTopic), LocatorUtils.property(thatLocator, "tempTopic", rhsTempTopic), lhsTempTopic, rhsTempTopic)) {
756                    return false;
757                }
758            }
759            {
760                DtoTopic lhsTopic;
761                lhsTopic = this.getTopic();
762                DtoTopic rhsTopic;
763                rhsTopic = that.getTopic();
764                if (!strategy.equals(LocatorUtils.property(thisLocator, "topic", lhsTopic), LocatorUtils.property(thatLocator, "topic", rhsTopic), lhsTopic, rhsTopic)) {
765                    return false;
766                }
767            }
768            {
769                Object lhsAny;
770                lhsAny = this.getAny();
771                Object rhsAny;
772                rhsAny = that.getAny();
773                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
774                    return false;
775                }
776            }
777            return true;
778        }
779
780        public boolean equals(Object object) {
781            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
782            return equals(null, null, object, strategy);
783        }
784
785    }
786
787}