001    //
002    // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.6 
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: 2013.10.14 at 11:56:49 PM IST 
006    //
007    
008    
009    package org.apache.activemq.schema.core;
010    
011    import java.util.ArrayList;
012    import java.util.HashMap;
013    import java.util.List;
014    import java.util.Map;
015    import javax.xml.bind.JAXBElement;
016    import javax.xml.bind.annotation.XmlAccessType;
017    import javax.xml.bind.annotation.XmlAccessorType;
018    import javax.xml.bind.annotation.XmlAnyAttribute;
019    import javax.xml.bind.annotation.XmlAnyElement;
020    import javax.xml.bind.annotation.XmlAttribute;
021    import javax.xml.bind.annotation.XmlElementRef;
022    import javax.xml.bind.annotation.XmlID;
023    import javax.xml.bind.annotation.XmlRootElement;
024    import javax.xml.bind.annotation.XmlSchemaType;
025    import javax.xml.bind.annotation.XmlType;
026    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
027    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
028    import javax.xml.namespace.QName;
029    import org.jvnet.jaxb2_commons.lang.Equals;
030    import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
031    import org.jvnet.jaxb2_commons.lang.HashCode;
032    import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
033    import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
034    import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
035    import org.jvnet.jaxb2_commons.lang.ToString;
036    import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
037    import org.jvnet.jaxb2_commons.locator.ObjectLocator;
038    import 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="destination" 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="destination" type="{http://www.w3.org/2001/XMLSchema}string" />
071     *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
072     *       &lt;anyAttribute processContents='lax' namespace='##other'/>
073     *     &lt;/restriction>
074     *   &lt;/complexContent>
075     * &lt;/complexType>
076     * </pre>
077     * 
078     * 
079     */
080    @XmlAccessorType(XmlAccessType.FIELD)
081    @XmlType(name = "", propOrder = {
082        "destinationOrAny"
083    })
084    @XmlRootElement(name = "simpleDispatchSelector")
085    public class DtoSimpleDispatchSelector
086        implements Equals, HashCode, ToString
087    {
088    
089        @XmlElementRef(name = "destination", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class)
090        @XmlAnyElement(lax = true)
091        protected List<Object> destinationOrAny;
092        @XmlAttribute(name = "destination")
093        protected String destination;
094        @XmlAttribute(name = "id")
095        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
096        @XmlID
097        @XmlSchemaType(name = "ID")
098        protected String id;
099        @XmlAnyAttribute
100        private Map<QName, String> otherAttributes = new HashMap<QName, String>();
101    
102        /**
103         * Gets the value of the destinationOrAny property.
104         * 
105         * <p>
106         * This accessor method returns a reference to the live list,
107         * not a snapshot. Therefore any modification you make to the
108         * returned list will be present inside the JAXB object.
109         * This is why there is not a <CODE>set</CODE> method for the destinationOrAny property.
110         * 
111         * <p>
112         * For example, to add a new item, do as follows:
113         * <pre>
114         *    getDestinationOrAny().add(newItem);
115         * </pre>
116         * 
117         * 
118         * <p>
119         * Objects of the following type(s) are allowed in the list
120         * {@link JAXBElement }{@code <}{@link DtoSimpleDispatchSelector.Destination }{@code >}
121         * {@link Object }
122         * 
123         * 
124         */
125        public List<Object> getDestinationOrAny() {
126            if (destinationOrAny == null) {
127                destinationOrAny = new ArrayList<Object>();
128            }
129            return this.destinationOrAny;
130        }
131    
132        /**
133         * Gets the value of the destination property.
134         * 
135         * @return
136         *     possible object is
137         *     {@link String }
138         *     
139         */
140        public String getDestination() {
141            return destination;
142        }
143    
144        /**
145         * Sets the value of the destination property.
146         * 
147         * @param value
148         *     allowed object is
149         *     {@link String }
150         *     
151         */
152        public void setDestination(String value) {
153            this.destination = value;
154        }
155    
156        /**
157         * Gets the value of the id property.
158         * 
159         * @return
160         *     possible object is
161         *     {@link String }
162         *     
163         */
164        public String getId() {
165            return id;
166        }
167    
168        /**
169         * Sets the value of the id property.
170         * 
171         * @param value
172         *     allowed object is
173         *     {@link String }
174         *     
175         */
176        public void setId(String value) {
177            this.id = value;
178        }
179    
180        /**
181         * Gets a map that contains attributes that aren't bound to any typed property on this class.
182         * 
183         * <p>
184         * the map is keyed by the name of the attribute and 
185         * the value is the string value of the attribute.
186         * 
187         * the map returned by this method is live, and you can add new attribute
188         * by updating the map directly. Because of this design, there's no setter.
189         * 
190         * 
191         * @return
192         *     always non-null
193         */
194        public Map<QName, String> getOtherAttributes() {
195            return otherAttributes;
196        }
197    
198        public String toString() {
199            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
200            final StringBuilder buffer = new StringBuilder();
201            append(null, buffer, strategy);
202            return buffer.toString();
203        }
204    
205        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
206            strategy.appendStart(locator, this, buffer);
207            appendFields(locator, buffer, strategy);
208            strategy.appendEnd(locator, this, buffer);
209            return buffer;
210        }
211    
212        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
213            {
214                List<Object> theDestinationOrAny;
215                theDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
216                strategy.appendField(locator, this, "destinationOrAny", buffer, theDestinationOrAny);
217            }
218            {
219                String theDestination;
220                theDestination = this.getDestination();
221                strategy.appendField(locator, this, "destination", buffer, theDestination);
222            }
223            {
224                String theId;
225                theId = this.getId();
226                strategy.appendField(locator, this, "id", buffer, theId);
227            }
228            return buffer;
229        }
230    
231        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
232            int currentHashCode = 1;
233            {
234                List<Object> theDestinationOrAny;
235                theDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
236                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationOrAny", theDestinationOrAny), currentHashCode, theDestinationOrAny);
237            }
238            {
239                String theDestination;
240                theDestination = this.getDestination();
241                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destination", theDestination), currentHashCode, theDestination);
242            }
243            {
244                String theId;
245                theId = this.getId();
246                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
247            }
248            return currentHashCode;
249        }
250    
251        public int hashCode() {
252            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
253            return this.hashCode(null, strategy);
254        }
255    
256        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
257            if (!(object instanceof DtoSimpleDispatchSelector)) {
258                return false;
259            }
260            if (this == object) {
261                return true;
262            }
263            final DtoSimpleDispatchSelector that = ((DtoSimpleDispatchSelector) object);
264            {
265                List<Object> lhsDestinationOrAny;
266                lhsDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
267                List<Object> rhsDestinationOrAny;
268                rhsDestinationOrAny = (((that.destinationOrAny!= null)&&(!that.destinationOrAny.isEmpty()))?that.getDestinationOrAny():null);
269                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationOrAny", lhsDestinationOrAny), LocatorUtils.property(thatLocator, "destinationOrAny", rhsDestinationOrAny), lhsDestinationOrAny, rhsDestinationOrAny)) {
270                    return false;
271                }
272            }
273            {
274                String lhsDestination;
275                lhsDestination = this.getDestination();
276                String rhsDestination;
277                rhsDestination = that.getDestination();
278                if (!strategy.equals(LocatorUtils.property(thisLocator, "destination", lhsDestination), LocatorUtils.property(thatLocator, "destination", rhsDestination), lhsDestination, rhsDestination)) {
279                    return false;
280                }
281            }
282            {
283                String lhsId;
284                lhsId = this.getId();
285                String rhsId;
286                rhsId = that.getId();
287                if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
288                    return false;
289                }
290            }
291            return true;
292        }
293    
294        public boolean equals(Object object) {
295            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
296            return equals(null, null, object, strategy);
297        }
298    
299    
300        /**
301         * <p>Java class for anonymous complex type.
302         * 
303         * <p>The following schema fragment specifies the expected content contained within this class.
304         * 
305         * <pre>
306         * &lt;complexType>
307         *   &lt;complexContent>
308         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
309         *       &lt;choice minOccurs="0">
310         *         &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
311         *         &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
312         *         &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
313         *         &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
314         *         &lt;any namespace='##other'/>
315         *       &lt;/choice>
316         *     &lt;/restriction>
317         *   &lt;/complexContent>
318         * &lt;/complexType>
319         * </pre>
320         * 
321         * 
322         */
323        @XmlAccessorType(XmlAccessType.FIELD)
324        @XmlType(name = "", propOrder = {
325            "queue",
326            "tempQueue",
327            "tempTopic",
328            "topic",
329            "any"
330        })
331        public static class Destination
332            implements Equals, HashCode, ToString
333        {
334    
335            protected DtoQueue queue;
336            protected DtoTempQueue tempQueue;
337            protected DtoTempTopic tempTopic;
338            protected DtoTopic topic;
339            @XmlAnyElement(lax = true)
340            protected Object any;
341    
342            /**
343             * Gets the value of the queue property.
344             * 
345             * @return
346             *     possible object is
347             *     {@link DtoQueue }
348             *     
349             */
350            public DtoQueue getQueue() {
351                return queue;
352            }
353    
354            /**
355             * Sets the value of the queue property.
356             * 
357             * @param value
358             *     allowed object is
359             *     {@link DtoQueue }
360             *     
361             */
362            public void setQueue(DtoQueue value) {
363                this.queue = value;
364            }
365    
366            /**
367             * Gets the value of the tempQueue property.
368             * 
369             * @return
370             *     possible object is
371             *     {@link DtoTempQueue }
372             *     
373             */
374            public DtoTempQueue getTempQueue() {
375                return tempQueue;
376            }
377    
378            /**
379             * Sets the value of the tempQueue property.
380             * 
381             * @param value
382             *     allowed object is
383             *     {@link DtoTempQueue }
384             *     
385             */
386            public void setTempQueue(DtoTempQueue value) {
387                this.tempQueue = value;
388            }
389    
390            /**
391             * Gets the value of the tempTopic property.
392             * 
393             * @return
394             *     possible object is
395             *     {@link DtoTempTopic }
396             *     
397             */
398            public DtoTempTopic getTempTopic() {
399                return tempTopic;
400            }
401    
402            /**
403             * Sets the value of the tempTopic property.
404             * 
405             * @param value
406             *     allowed object is
407             *     {@link DtoTempTopic }
408             *     
409             */
410            public void setTempTopic(DtoTempTopic value) {
411                this.tempTopic = value;
412            }
413    
414            /**
415             * Gets the value of the topic property.
416             * 
417             * @return
418             *     possible object is
419             *     {@link DtoTopic }
420             *     
421             */
422            public DtoTopic getTopic() {
423                return topic;
424            }
425    
426            /**
427             * Sets the value of the topic property.
428             * 
429             * @param value
430             *     allowed object is
431             *     {@link DtoTopic }
432             *     
433             */
434            public void setTopic(DtoTopic value) {
435                this.topic = value;
436            }
437    
438            /**
439             * Gets the value of the any property.
440             * 
441             * @return
442             *     possible object is
443             *     {@link Object }
444             *     
445             */
446            public Object getAny() {
447                return any;
448            }
449    
450            /**
451             * Sets the value of the any property.
452             * 
453             * @param value
454             *     allowed object is
455             *     {@link Object }
456             *     
457             */
458            public void setAny(Object value) {
459                this.any = value;
460            }
461    
462            public String toString() {
463                final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
464                final StringBuilder buffer = new StringBuilder();
465                append(null, buffer, strategy);
466                return buffer.toString();
467            }
468    
469            public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
470                strategy.appendStart(locator, this, buffer);
471                appendFields(locator, buffer, strategy);
472                strategy.appendEnd(locator, this, buffer);
473                return buffer;
474            }
475    
476            public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
477                {
478                    DtoQueue theQueue;
479                    theQueue = this.getQueue();
480                    strategy.appendField(locator, this, "queue", buffer, theQueue);
481                }
482                {
483                    DtoTempQueue theTempQueue;
484                    theTempQueue = this.getTempQueue();
485                    strategy.appendField(locator, this, "tempQueue", buffer, theTempQueue);
486                }
487                {
488                    DtoTempTopic theTempTopic;
489                    theTempTopic = this.getTempTopic();
490                    strategy.appendField(locator, this, "tempTopic", buffer, theTempTopic);
491                }
492                {
493                    DtoTopic theTopic;
494                    theTopic = this.getTopic();
495                    strategy.appendField(locator, this, "topic", buffer, theTopic);
496                }
497                {
498                    Object theAny;
499                    theAny = this.getAny();
500                    strategy.appendField(locator, this, "any", buffer, theAny);
501                }
502                return buffer;
503            }
504    
505            public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
506                int currentHashCode = 1;
507                {
508                    DtoQueue theQueue;
509                    theQueue = this.getQueue();
510                    currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queue", theQueue), currentHashCode, theQueue);
511                }
512                {
513                    DtoTempQueue theTempQueue;
514                    theTempQueue = this.getTempQueue();
515                    currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempQueue", theTempQueue), currentHashCode, theTempQueue);
516                }
517                {
518                    DtoTempTopic theTempTopic;
519                    theTempTopic = this.getTempTopic();
520                    currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempTopic", theTempTopic), currentHashCode, theTempTopic);
521                }
522                {
523                    DtoTopic theTopic;
524                    theTopic = this.getTopic();
525                    currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topic", theTopic), currentHashCode, theTopic);
526                }
527                {
528                    Object theAny;
529                    theAny = this.getAny();
530                    currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
531                }
532                return currentHashCode;
533            }
534    
535            public int hashCode() {
536                final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
537                return this.hashCode(null, strategy);
538            }
539    
540            public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
541                if (!(object instanceof DtoSimpleDispatchSelector.Destination)) {
542                    return false;
543                }
544                if (this == object) {
545                    return true;
546                }
547                final DtoSimpleDispatchSelector.Destination that = ((DtoSimpleDispatchSelector.Destination) object);
548                {
549                    DtoQueue lhsQueue;
550                    lhsQueue = this.getQueue();
551                    DtoQueue rhsQueue;
552                    rhsQueue = that.getQueue();
553                    if (!strategy.equals(LocatorUtils.property(thisLocator, "queue", lhsQueue), LocatorUtils.property(thatLocator, "queue", rhsQueue), lhsQueue, rhsQueue)) {
554                        return false;
555                    }
556                }
557                {
558                    DtoTempQueue lhsTempQueue;
559                    lhsTempQueue = this.getTempQueue();
560                    DtoTempQueue rhsTempQueue;
561                    rhsTempQueue = that.getTempQueue();
562                    if (!strategy.equals(LocatorUtils.property(thisLocator, "tempQueue", lhsTempQueue), LocatorUtils.property(thatLocator, "tempQueue", rhsTempQueue), lhsTempQueue, rhsTempQueue)) {
563                        return false;
564                    }
565                }
566                {
567                    DtoTempTopic lhsTempTopic;
568                    lhsTempTopic = this.getTempTopic();
569                    DtoTempTopic rhsTempTopic;
570                    rhsTempTopic = that.getTempTopic();
571                    if (!strategy.equals(LocatorUtils.property(thisLocator, "tempTopic", lhsTempTopic), LocatorUtils.property(thatLocator, "tempTopic", rhsTempTopic), lhsTempTopic, rhsTempTopic)) {
572                        return false;
573                    }
574                }
575                {
576                    DtoTopic lhsTopic;
577                    lhsTopic = this.getTopic();
578                    DtoTopic rhsTopic;
579                    rhsTopic = that.getTopic();
580                    if (!strategy.equals(LocatorUtils.property(thisLocator, "topic", lhsTopic), LocatorUtils.property(thatLocator, "topic", rhsTopic), lhsTopic, rhsTopic)) {
581                        return false;
582                    }
583                }
584                {
585                    Object lhsAny;
586                    lhsAny = this.getAny();
587                    Object rhsAny;
588                    rhsAny = that.getAny();
589                    if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
590                        return false;
591                    }
592                }
593                return true;
594            }
595    
596            public boolean equals(Object object) {
597                final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
598                return equals(null, null, object, strategy);
599            }
600    
601        }
602    
603    }