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