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