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.09.15 at 06:37:38 AM EDT 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.math.BigInteger;
012import java.util.ArrayList;
013import java.util.HashMap;
014import java.util.List;
015import java.util.Map;
016import javax.xml.bind.JAXBElement;
017import javax.xml.bind.annotation.XmlAccessType;
018import javax.xml.bind.annotation.XmlAccessorType;
019import javax.xml.bind.annotation.XmlAnyAttribute;
020import javax.xml.bind.annotation.XmlAnyElement;
021import javax.xml.bind.annotation.XmlAttribute;
022import javax.xml.bind.annotation.XmlElementRef;
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;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
069 *         &lt;/choice>
070 *       &lt;/choice>
071 *       &lt;attribute name="backOffMultiplier" type="{http://www.w3.org/2001/XMLSchema}double" />
072 *       &lt;attribute name="collisionAvoidancePercent" type="{http://www.w3.org/2001/XMLSchema}short" />
073 *       &lt;attribute name="destination" type="{http://www.w3.org/2001/XMLSchema}string" />
074 *       &lt;attribute name="initialRedeliveryDelay" type="{http://www.w3.org/2001/XMLSchema}long" />
075 *       &lt;attribute name="maximumRedeliveries" type="{http://www.w3.org/2001/XMLSchema}integer" />
076 *       &lt;attribute name="maximumRedeliveryDelay" type="{http://www.w3.org/2001/XMLSchema}long" />
077 *       &lt;attribute name="queue" type="{http://www.w3.org/2001/XMLSchema}string" />
078 *       &lt;attribute name="redeliveryDelay" type="{http://www.w3.org/2001/XMLSchema}long" />
079 *       &lt;attribute name="tempQueue" type="{http://www.w3.org/2001/XMLSchema}boolean" />
080 *       &lt;attribute name="tempTopic" type="{http://www.w3.org/2001/XMLSchema}boolean" />
081 *       &lt;attribute name="topic" type="{http://www.w3.org/2001/XMLSchema}string" />
082 *       &lt;attribute name="useCollisionAvoidance" type="{http://www.w3.org/2001/XMLSchema}boolean" />
083 *       &lt;attribute name="useExponentialBackOff" type="{http://www.w3.org/2001/XMLSchema}boolean" />
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    "destinationOrAny"
096})
097@XmlRootElement(name = "redeliveryPolicy")
098public class DtoRedeliveryPolicy
099    implements Equals, HashCode, ToString
100{
101
102    @XmlElementRef(name = "destination", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
103    @XmlAnyElement(lax = true)
104    protected List<Object> destinationOrAny;
105    @XmlAttribute(name = "backOffMultiplier")
106    protected Double backOffMultiplier;
107    @XmlAttribute(name = "collisionAvoidancePercent")
108    protected Short collisionAvoidancePercent;
109    @XmlAttribute(name = "destination")
110    protected String destination;
111    @XmlAttribute(name = "initialRedeliveryDelay")
112    protected Long initialRedeliveryDelay;
113    @XmlAttribute(name = "maximumRedeliveries")
114    protected BigInteger maximumRedeliveries;
115    @XmlAttribute(name = "maximumRedeliveryDelay")
116    protected Long maximumRedeliveryDelay;
117    @XmlAttribute(name = "queue")
118    protected String queue;
119    @XmlAttribute(name = "redeliveryDelay")
120    protected Long redeliveryDelay;
121    @XmlAttribute(name = "tempQueue")
122    protected Boolean tempQueue;
123    @XmlAttribute(name = "tempTopic")
124    protected Boolean tempTopic;
125    @XmlAttribute(name = "topic")
126    protected String topic;
127    @XmlAttribute(name = "useCollisionAvoidance")
128    protected Boolean useCollisionAvoidance;
129    @XmlAttribute(name = "useExponentialBackOff")
130    protected Boolean useExponentialBackOff;
131    @XmlAttribute(name = "id")
132    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
133    @XmlID
134    @XmlSchemaType(name = "ID")
135    protected String id;
136    @XmlAnyAttribute
137    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
138
139    /**
140     * Gets the value of the destinationOrAny property.
141     * 
142     * <p>
143     * This accessor method returns a reference to the live list,
144     * not a snapshot. Therefore any modification you make to the
145     * returned list will be present inside the JAXB object.
146     * This is why there is not a <CODE>set</CODE> method for the destinationOrAny property.
147     * 
148     * <p>
149     * For example, to add a new item, do as follows:
150     * <pre>
151     *    getDestinationOrAny().add(newItem);
152     * </pre>
153     * 
154     * 
155     * <p>
156     * Objects of the following type(s) are allowed in the list
157     * {@link Object }
158     * {@link JAXBElement }{@code <}{@link DtoRedeliveryPolicy.Destination }{@code >}
159     * 
160     * 
161     */
162    public List<Object> getDestinationOrAny() {
163        if (destinationOrAny == null) {
164            destinationOrAny = new ArrayList<Object>();
165        }
166        return this.destinationOrAny;
167    }
168
169    /**
170     * Gets the value of the backOffMultiplier property.
171     * 
172     * @return
173     *     possible object is
174     *     {@link Double }
175     *     
176     */
177    public Double getBackOffMultiplier() {
178        return backOffMultiplier;
179    }
180
181    /**
182     * Sets the value of the backOffMultiplier property.
183     * 
184     * @param value
185     *     allowed object is
186     *     {@link Double }
187     *     
188     */
189    public void setBackOffMultiplier(Double value) {
190        this.backOffMultiplier = value;
191    }
192
193    /**
194     * Gets the value of the collisionAvoidancePercent property.
195     * 
196     * @return
197     *     possible object is
198     *     {@link Short }
199     *     
200     */
201    public Short getCollisionAvoidancePercent() {
202        return collisionAvoidancePercent;
203    }
204
205    /**
206     * Sets the value of the collisionAvoidancePercent property.
207     * 
208     * @param value
209     *     allowed object is
210     *     {@link Short }
211     *     
212     */
213    public void setCollisionAvoidancePercent(Short value) {
214        this.collisionAvoidancePercent = value;
215    }
216
217    /**
218     * Gets the value of the destination property.
219     * 
220     * @return
221     *     possible object is
222     *     {@link String }
223     *     
224     */
225    public String getDestination() {
226        return destination;
227    }
228
229    /**
230     * Sets the value of the destination property.
231     * 
232     * @param value
233     *     allowed object is
234     *     {@link String }
235     *     
236     */
237    public void setDestination(String value) {
238        this.destination = value;
239    }
240
241    /**
242     * Gets the value of the initialRedeliveryDelay property.
243     * 
244     * @return
245     *     possible object is
246     *     {@link Long }
247     *     
248     */
249    public Long getInitialRedeliveryDelay() {
250        return initialRedeliveryDelay;
251    }
252
253    /**
254     * Sets the value of the initialRedeliveryDelay property.
255     * 
256     * @param value
257     *     allowed object is
258     *     {@link Long }
259     *     
260     */
261    public void setInitialRedeliveryDelay(Long value) {
262        this.initialRedeliveryDelay = value;
263    }
264
265    /**
266     * Gets the value of the maximumRedeliveries property.
267     * 
268     * @return
269     *     possible object is
270     *     {@link BigInteger }
271     *     
272     */
273    public BigInteger getMaximumRedeliveries() {
274        return maximumRedeliveries;
275    }
276
277    /**
278     * Sets the value of the maximumRedeliveries property.
279     * 
280     * @param value
281     *     allowed object is
282     *     {@link BigInteger }
283     *     
284     */
285    public void setMaximumRedeliveries(BigInteger value) {
286        this.maximumRedeliveries = value;
287    }
288
289    /**
290     * Gets the value of the maximumRedeliveryDelay property.
291     * 
292     * @return
293     *     possible object is
294     *     {@link Long }
295     *     
296     */
297    public Long getMaximumRedeliveryDelay() {
298        return maximumRedeliveryDelay;
299    }
300
301    /**
302     * Sets the value of the maximumRedeliveryDelay property.
303     * 
304     * @param value
305     *     allowed object is
306     *     {@link Long }
307     *     
308     */
309    public void setMaximumRedeliveryDelay(Long value) {
310        this.maximumRedeliveryDelay = value;
311    }
312
313    /**
314     * Gets the value of the queue property.
315     * 
316     * @return
317     *     possible object is
318     *     {@link String }
319     *     
320     */
321    public String getQueue() {
322        return queue;
323    }
324
325    /**
326     * Sets the value of the queue property.
327     * 
328     * @param value
329     *     allowed object is
330     *     {@link String }
331     *     
332     */
333    public void setQueue(String value) {
334        this.queue = value;
335    }
336
337    /**
338     * Gets the value of the redeliveryDelay property.
339     * 
340     * @return
341     *     possible object is
342     *     {@link Long }
343     *     
344     */
345    public Long getRedeliveryDelay() {
346        return redeliveryDelay;
347    }
348
349    /**
350     * Sets the value of the redeliveryDelay property.
351     * 
352     * @param value
353     *     allowed object is
354     *     {@link Long }
355     *     
356     */
357    public void setRedeliveryDelay(Long value) {
358        this.redeliveryDelay = value;
359    }
360
361    /**
362     * Gets the value of the tempQueue property.
363     * 
364     * @return
365     *     possible object is
366     *     {@link Boolean }
367     *     
368     */
369    public Boolean isTempQueue() {
370        return tempQueue;
371    }
372
373    /**
374     * Sets the value of the tempQueue property.
375     * 
376     * @param value
377     *     allowed object is
378     *     {@link Boolean }
379     *     
380     */
381    public void setTempQueue(Boolean value) {
382        this.tempQueue = value;
383    }
384
385    /**
386     * Gets the value of the tempTopic property.
387     * 
388     * @return
389     *     possible object is
390     *     {@link Boolean }
391     *     
392     */
393    public Boolean isTempTopic() {
394        return tempTopic;
395    }
396
397    /**
398     * Sets the value of the tempTopic property.
399     * 
400     * @param value
401     *     allowed object is
402     *     {@link Boolean }
403     *     
404     */
405    public void setTempTopic(Boolean value) {
406        this.tempTopic = value;
407    }
408
409    /**
410     * Gets the value of the topic property.
411     * 
412     * @return
413     *     possible object is
414     *     {@link String }
415     *     
416     */
417    public String getTopic() {
418        return topic;
419    }
420
421    /**
422     * Sets the value of the topic property.
423     * 
424     * @param value
425     *     allowed object is
426     *     {@link String }
427     *     
428     */
429    public void setTopic(String value) {
430        this.topic = value;
431    }
432
433    /**
434     * Gets the value of the useCollisionAvoidance property.
435     * 
436     * @return
437     *     possible object is
438     *     {@link Boolean }
439     *     
440     */
441    public Boolean isUseCollisionAvoidance() {
442        return useCollisionAvoidance;
443    }
444
445    /**
446     * Sets the value of the useCollisionAvoidance property.
447     * 
448     * @param value
449     *     allowed object is
450     *     {@link Boolean }
451     *     
452     */
453    public void setUseCollisionAvoidance(Boolean value) {
454        this.useCollisionAvoidance = value;
455    }
456
457    /**
458     * Gets the value of the useExponentialBackOff property.
459     * 
460     * @return
461     *     possible object is
462     *     {@link Boolean }
463     *     
464     */
465    public Boolean isUseExponentialBackOff() {
466        return useExponentialBackOff;
467    }
468
469    /**
470     * Sets the value of the useExponentialBackOff property.
471     * 
472     * @param value
473     *     allowed object is
474     *     {@link Boolean }
475     *     
476     */
477    public void setUseExponentialBackOff(Boolean value) {
478        this.useExponentialBackOff = value;
479    }
480
481    /**
482     * Gets the value of the id property.
483     * 
484     * @return
485     *     possible object is
486     *     {@link String }
487     *     
488     */
489    public String getId() {
490        return id;
491    }
492
493    /**
494     * Sets the value of the id property.
495     * 
496     * @param value
497     *     allowed object is
498     *     {@link String }
499     *     
500     */
501    public void setId(String value) {
502        this.id = value;
503    }
504
505    /**
506     * Gets a map that contains attributes that aren't bound to any typed property on this class.
507     * 
508     * <p>
509     * the map is keyed by the name of the attribute and 
510     * the value is the string value of the attribute.
511     * 
512     * the map returned by this method is live, and you can add new attribute
513     * by updating the map directly. Because of this design, there's no setter.
514     * 
515     * 
516     * @return
517     *     always non-null
518     */
519    public Map<QName, String> getOtherAttributes() {
520        return otherAttributes;
521    }
522
523    public String toString() {
524        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
525        final StringBuilder buffer = new StringBuilder();
526        append(null, buffer, strategy);
527        return buffer.toString();
528    }
529
530    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
531        strategy.appendStart(locator, this, buffer);
532        appendFields(locator, buffer, strategy);
533        strategy.appendEnd(locator, this, buffer);
534        return buffer;
535    }
536
537    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
538        {
539            List<Object> theDestinationOrAny;
540            theDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
541            strategy.appendField(locator, this, "destinationOrAny", buffer, theDestinationOrAny);
542        }
543        {
544            Double theBackOffMultiplier;
545            theBackOffMultiplier = this.getBackOffMultiplier();
546            strategy.appendField(locator, this, "backOffMultiplier", buffer, theBackOffMultiplier);
547        }
548        {
549            Short theCollisionAvoidancePercent;
550            theCollisionAvoidancePercent = this.getCollisionAvoidancePercent();
551            strategy.appendField(locator, this, "collisionAvoidancePercent", buffer, theCollisionAvoidancePercent);
552        }
553        {
554            String theDestination;
555            theDestination = this.getDestination();
556            strategy.appendField(locator, this, "destination", buffer, theDestination);
557        }
558        {
559            Long theInitialRedeliveryDelay;
560            theInitialRedeliveryDelay = this.getInitialRedeliveryDelay();
561            strategy.appendField(locator, this, "initialRedeliveryDelay", buffer, theInitialRedeliveryDelay);
562        }
563        {
564            BigInteger theMaximumRedeliveries;
565            theMaximumRedeliveries = this.getMaximumRedeliveries();
566            strategy.appendField(locator, this, "maximumRedeliveries", buffer, theMaximumRedeliveries);
567        }
568        {
569            Long theMaximumRedeliveryDelay;
570            theMaximumRedeliveryDelay = this.getMaximumRedeliveryDelay();
571            strategy.appendField(locator, this, "maximumRedeliveryDelay", buffer, theMaximumRedeliveryDelay);
572        }
573        {
574            String theQueue;
575            theQueue = this.getQueue();
576            strategy.appendField(locator, this, "queue", buffer, theQueue);
577        }
578        {
579            Long theRedeliveryDelay;
580            theRedeliveryDelay = this.getRedeliveryDelay();
581            strategy.appendField(locator, this, "redeliveryDelay", buffer, theRedeliveryDelay);
582        }
583        {
584            Boolean theTempQueue;
585            theTempQueue = this.isTempQueue();
586            strategy.appendField(locator, this, "tempQueue", buffer, theTempQueue);
587        }
588        {
589            Boolean theTempTopic;
590            theTempTopic = this.isTempTopic();
591            strategy.appendField(locator, this, "tempTopic", buffer, theTempTopic);
592        }
593        {
594            String theTopic;
595            theTopic = this.getTopic();
596            strategy.appendField(locator, this, "topic", buffer, theTopic);
597        }
598        {
599            Boolean theUseCollisionAvoidance;
600            theUseCollisionAvoidance = this.isUseCollisionAvoidance();
601            strategy.appendField(locator, this, "useCollisionAvoidance", buffer, theUseCollisionAvoidance);
602        }
603        {
604            Boolean theUseExponentialBackOff;
605            theUseExponentialBackOff = this.isUseExponentialBackOff();
606            strategy.appendField(locator, this, "useExponentialBackOff", buffer, theUseExponentialBackOff);
607        }
608        {
609            String theId;
610            theId = this.getId();
611            strategy.appendField(locator, this, "id", buffer, theId);
612        }
613        return buffer;
614    }
615
616    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
617        int currentHashCode = 1;
618        {
619            List<Object> theDestinationOrAny;
620            theDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
621            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationOrAny", theDestinationOrAny), currentHashCode, theDestinationOrAny);
622        }
623        {
624            Double theBackOffMultiplier;
625            theBackOffMultiplier = this.getBackOffMultiplier();
626            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "backOffMultiplier", theBackOffMultiplier), currentHashCode, theBackOffMultiplier);
627        }
628        {
629            Short theCollisionAvoidancePercent;
630            theCollisionAvoidancePercent = this.getCollisionAvoidancePercent();
631            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "collisionAvoidancePercent", theCollisionAvoidancePercent), currentHashCode, theCollisionAvoidancePercent);
632        }
633        {
634            String theDestination;
635            theDestination = this.getDestination();
636            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destination", theDestination), currentHashCode, theDestination);
637        }
638        {
639            Long theInitialRedeliveryDelay;
640            theInitialRedeliveryDelay = this.getInitialRedeliveryDelay();
641            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "initialRedeliveryDelay", theInitialRedeliveryDelay), currentHashCode, theInitialRedeliveryDelay);
642        }
643        {
644            BigInteger theMaximumRedeliveries;
645            theMaximumRedeliveries = this.getMaximumRedeliveries();
646            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maximumRedeliveries", theMaximumRedeliveries), currentHashCode, theMaximumRedeliveries);
647        }
648        {
649            Long theMaximumRedeliveryDelay;
650            theMaximumRedeliveryDelay = this.getMaximumRedeliveryDelay();
651            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maximumRedeliveryDelay", theMaximumRedeliveryDelay), currentHashCode, theMaximumRedeliveryDelay);
652        }
653        {
654            String theQueue;
655            theQueue = this.getQueue();
656            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queue", theQueue), currentHashCode, theQueue);
657        }
658        {
659            Long theRedeliveryDelay;
660            theRedeliveryDelay = this.getRedeliveryDelay();
661            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "redeliveryDelay", theRedeliveryDelay), currentHashCode, theRedeliveryDelay);
662        }
663        {
664            Boolean theTempQueue;
665            theTempQueue = this.isTempQueue();
666            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempQueue", theTempQueue), currentHashCode, theTempQueue);
667        }
668        {
669            Boolean theTempTopic;
670            theTempTopic = this.isTempTopic();
671            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempTopic", theTempTopic), currentHashCode, theTempTopic);
672        }
673        {
674            String theTopic;
675            theTopic = this.getTopic();
676            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topic", theTopic), currentHashCode, theTopic);
677        }
678        {
679            Boolean theUseCollisionAvoidance;
680            theUseCollisionAvoidance = this.isUseCollisionAvoidance();
681            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "useCollisionAvoidance", theUseCollisionAvoidance), currentHashCode, theUseCollisionAvoidance);
682        }
683        {
684            Boolean theUseExponentialBackOff;
685            theUseExponentialBackOff = this.isUseExponentialBackOff();
686            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "useExponentialBackOff", theUseExponentialBackOff), currentHashCode, theUseExponentialBackOff);
687        }
688        {
689            String theId;
690            theId = this.getId();
691            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
692        }
693        return currentHashCode;
694    }
695
696    public int hashCode() {
697        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
698        return this.hashCode(null, strategy);
699    }
700
701    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
702        if (!(object instanceof DtoRedeliveryPolicy)) {
703            return false;
704        }
705        if (this == object) {
706            return true;
707        }
708        final DtoRedeliveryPolicy that = ((DtoRedeliveryPolicy) object);
709        {
710            List<Object> lhsDestinationOrAny;
711            lhsDestinationOrAny = (((this.destinationOrAny!= null)&&(!this.destinationOrAny.isEmpty()))?this.getDestinationOrAny():null);
712            List<Object> rhsDestinationOrAny;
713            rhsDestinationOrAny = (((that.destinationOrAny!= null)&&(!that.destinationOrAny.isEmpty()))?that.getDestinationOrAny():null);
714            if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationOrAny", lhsDestinationOrAny), LocatorUtils.property(thatLocator, "destinationOrAny", rhsDestinationOrAny), lhsDestinationOrAny, rhsDestinationOrAny)) {
715                return false;
716            }
717        }
718        {
719            Double lhsBackOffMultiplier;
720            lhsBackOffMultiplier = this.getBackOffMultiplier();
721            Double rhsBackOffMultiplier;
722            rhsBackOffMultiplier = that.getBackOffMultiplier();
723            if (!strategy.equals(LocatorUtils.property(thisLocator, "backOffMultiplier", lhsBackOffMultiplier), LocatorUtils.property(thatLocator, "backOffMultiplier", rhsBackOffMultiplier), lhsBackOffMultiplier, rhsBackOffMultiplier)) {
724                return false;
725            }
726        }
727        {
728            Short lhsCollisionAvoidancePercent;
729            lhsCollisionAvoidancePercent = this.getCollisionAvoidancePercent();
730            Short rhsCollisionAvoidancePercent;
731            rhsCollisionAvoidancePercent = that.getCollisionAvoidancePercent();
732            if (!strategy.equals(LocatorUtils.property(thisLocator, "collisionAvoidancePercent", lhsCollisionAvoidancePercent), LocatorUtils.property(thatLocator, "collisionAvoidancePercent", rhsCollisionAvoidancePercent), lhsCollisionAvoidancePercent, rhsCollisionAvoidancePercent)) {
733                return false;
734            }
735        }
736        {
737            String lhsDestination;
738            lhsDestination = this.getDestination();
739            String rhsDestination;
740            rhsDestination = that.getDestination();
741            if (!strategy.equals(LocatorUtils.property(thisLocator, "destination", lhsDestination), LocatorUtils.property(thatLocator, "destination", rhsDestination), lhsDestination, rhsDestination)) {
742                return false;
743            }
744        }
745        {
746            Long lhsInitialRedeliveryDelay;
747            lhsInitialRedeliveryDelay = this.getInitialRedeliveryDelay();
748            Long rhsInitialRedeliveryDelay;
749            rhsInitialRedeliveryDelay = that.getInitialRedeliveryDelay();
750            if (!strategy.equals(LocatorUtils.property(thisLocator, "initialRedeliveryDelay", lhsInitialRedeliveryDelay), LocatorUtils.property(thatLocator, "initialRedeliveryDelay", rhsInitialRedeliveryDelay), lhsInitialRedeliveryDelay, rhsInitialRedeliveryDelay)) {
751                return false;
752            }
753        }
754        {
755            BigInteger lhsMaximumRedeliveries;
756            lhsMaximumRedeliveries = this.getMaximumRedeliveries();
757            BigInteger rhsMaximumRedeliveries;
758            rhsMaximumRedeliveries = that.getMaximumRedeliveries();
759            if (!strategy.equals(LocatorUtils.property(thisLocator, "maximumRedeliveries", lhsMaximumRedeliveries), LocatorUtils.property(thatLocator, "maximumRedeliveries", rhsMaximumRedeliveries), lhsMaximumRedeliveries, rhsMaximumRedeliveries)) {
760                return false;
761            }
762        }
763        {
764            Long lhsMaximumRedeliveryDelay;
765            lhsMaximumRedeliveryDelay = this.getMaximumRedeliveryDelay();
766            Long rhsMaximumRedeliveryDelay;
767            rhsMaximumRedeliveryDelay = that.getMaximumRedeliveryDelay();
768            if (!strategy.equals(LocatorUtils.property(thisLocator, "maximumRedeliveryDelay", lhsMaximumRedeliveryDelay), LocatorUtils.property(thatLocator, "maximumRedeliveryDelay", rhsMaximumRedeliveryDelay), lhsMaximumRedeliveryDelay, rhsMaximumRedeliveryDelay)) {
769                return false;
770            }
771        }
772        {
773            String lhsQueue;
774            lhsQueue = this.getQueue();
775            String rhsQueue;
776            rhsQueue = that.getQueue();
777            if (!strategy.equals(LocatorUtils.property(thisLocator, "queue", lhsQueue), LocatorUtils.property(thatLocator, "queue", rhsQueue), lhsQueue, rhsQueue)) {
778                return false;
779            }
780        }
781        {
782            Long lhsRedeliveryDelay;
783            lhsRedeliveryDelay = this.getRedeliveryDelay();
784            Long rhsRedeliveryDelay;
785            rhsRedeliveryDelay = that.getRedeliveryDelay();
786            if (!strategy.equals(LocatorUtils.property(thisLocator, "redeliveryDelay", lhsRedeliveryDelay), LocatorUtils.property(thatLocator, "redeliveryDelay", rhsRedeliveryDelay), lhsRedeliveryDelay, rhsRedeliveryDelay)) {
787                return false;
788            }
789        }
790        {
791            Boolean lhsTempQueue;
792            lhsTempQueue = this.isTempQueue();
793            Boolean rhsTempQueue;
794            rhsTempQueue = that.isTempQueue();
795            if (!strategy.equals(LocatorUtils.property(thisLocator, "tempQueue", lhsTempQueue), LocatorUtils.property(thatLocator, "tempQueue", rhsTempQueue), lhsTempQueue, rhsTempQueue)) {
796                return false;
797            }
798        }
799        {
800            Boolean lhsTempTopic;
801            lhsTempTopic = this.isTempTopic();
802            Boolean rhsTempTopic;
803            rhsTempTopic = that.isTempTopic();
804            if (!strategy.equals(LocatorUtils.property(thisLocator, "tempTopic", lhsTempTopic), LocatorUtils.property(thatLocator, "tempTopic", rhsTempTopic), lhsTempTopic, rhsTempTopic)) {
805                return false;
806            }
807        }
808        {
809            String lhsTopic;
810            lhsTopic = this.getTopic();
811            String rhsTopic;
812            rhsTopic = that.getTopic();
813            if (!strategy.equals(LocatorUtils.property(thisLocator, "topic", lhsTopic), LocatorUtils.property(thatLocator, "topic", rhsTopic), lhsTopic, rhsTopic)) {
814                return false;
815            }
816        }
817        {
818            Boolean lhsUseCollisionAvoidance;
819            lhsUseCollisionAvoidance = this.isUseCollisionAvoidance();
820            Boolean rhsUseCollisionAvoidance;
821            rhsUseCollisionAvoidance = that.isUseCollisionAvoidance();
822            if (!strategy.equals(LocatorUtils.property(thisLocator, "useCollisionAvoidance", lhsUseCollisionAvoidance), LocatorUtils.property(thatLocator, "useCollisionAvoidance", rhsUseCollisionAvoidance), lhsUseCollisionAvoidance, rhsUseCollisionAvoidance)) {
823                return false;
824            }
825        }
826        {
827            Boolean lhsUseExponentialBackOff;
828            lhsUseExponentialBackOff = this.isUseExponentialBackOff();
829            Boolean rhsUseExponentialBackOff;
830            rhsUseExponentialBackOff = that.isUseExponentialBackOff();
831            if (!strategy.equals(LocatorUtils.property(thisLocator, "useExponentialBackOff", lhsUseExponentialBackOff), LocatorUtils.property(thatLocator, "useExponentialBackOff", rhsUseExponentialBackOff), lhsUseExponentialBackOff, rhsUseExponentialBackOff)) {
832                return false;
833            }
834        }
835        {
836            String lhsId;
837            lhsId = this.getId();
838            String rhsId;
839            rhsId = that.getId();
840            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
841                return false;
842            }
843        }
844        return true;
845    }
846
847    public boolean equals(Object object) {
848        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
849        return equals(null, null, object, strategy);
850    }
851
852
853    /**
854     * <p>Java class for anonymous complex type.
855     * 
856     * <p>The following schema fragment specifies the expected content contained within this class.
857     * 
858     * <pre>
859     * &lt;complexType>
860     *   &lt;complexContent>
861     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
862     *       &lt;choice minOccurs="0">
863     *         &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
864     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
865     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
866     *         &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
867     *         &lt;any namespace='##other'/>
868     *       &lt;/choice>
869     *     &lt;/restriction>
870     *   &lt;/complexContent>
871     * &lt;/complexType>
872     * </pre>
873     * 
874     * 
875     */
876    @XmlAccessorType(XmlAccessType.FIELD)
877    @XmlType(name = "", propOrder = {
878        "queue",
879        "tempQueue",
880        "tempTopic",
881        "topic",
882        "any"
883    })
884    public static class Destination
885        implements Equals, HashCode, ToString
886    {
887
888        protected DtoQueue queue;
889        protected DtoTempQueue tempQueue;
890        protected DtoTempTopic tempTopic;
891        protected DtoTopic topic;
892        @XmlAnyElement(lax = true)
893        protected Object any;
894
895        /**
896         * Gets the value of the queue property.
897         * 
898         * @return
899         *     possible object is
900         *     {@link DtoQueue }
901         *     
902         */
903        public DtoQueue getQueue() {
904            return queue;
905        }
906
907        /**
908         * Sets the value of the queue property.
909         * 
910         * @param value
911         *     allowed object is
912         *     {@link DtoQueue }
913         *     
914         */
915        public void setQueue(DtoQueue value) {
916            this.queue = value;
917        }
918
919        /**
920         * Gets the value of the tempQueue property.
921         * 
922         * @return
923         *     possible object is
924         *     {@link DtoTempQueue }
925         *     
926         */
927        public DtoTempQueue getTempQueue() {
928            return tempQueue;
929        }
930
931        /**
932         * Sets the value of the tempQueue property.
933         * 
934         * @param value
935         *     allowed object is
936         *     {@link DtoTempQueue }
937         *     
938         */
939        public void setTempQueue(DtoTempQueue value) {
940            this.tempQueue = value;
941        }
942
943        /**
944         * Gets the value of the tempTopic property.
945         * 
946         * @return
947         *     possible object is
948         *     {@link DtoTempTopic }
949         *     
950         */
951        public DtoTempTopic getTempTopic() {
952            return tempTopic;
953        }
954
955        /**
956         * Sets the value of the tempTopic property.
957         * 
958         * @param value
959         *     allowed object is
960         *     {@link DtoTempTopic }
961         *     
962         */
963        public void setTempTopic(DtoTempTopic value) {
964            this.tempTopic = value;
965        }
966
967        /**
968         * Gets the value of the topic property.
969         * 
970         * @return
971         *     possible object is
972         *     {@link DtoTopic }
973         *     
974         */
975        public DtoTopic getTopic() {
976            return topic;
977        }
978
979        /**
980         * Sets the value of the topic property.
981         * 
982         * @param value
983         *     allowed object is
984         *     {@link DtoTopic }
985         *     
986         */
987        public void setTopic(DtoTopic value) {
988            this.topic = value;
989        }
990
991        /**
992         * Gets the value of the any property.
993         * 
994         * @return
995         *     possible object is
996         *     {@link Object }
997         *     
998         */
999        public Object getAny() {
1000            return any;
1001        }
1002
1003        /**
1004         * Sets the value of the any property.
1005         * 
1006         * @param value
1007         *     allowed object is
1008         *     {@link Object }
1009         *     
1010         */
1011        public void setAny(Object value) {
1012            this.any = value;
1013        }
1014
1015        public String toString() {
1016            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1017            final StringBuilder buffer = new StringBuilder();
1018            append(null, buffer, strategy);
1019            return buffer.toString();
1020        }
1021
1022        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1023            strategy.appendStart(locator, this, buffer);
1024            appendFields(locator, buffer, strategy);
1025            strategy.appendEnd(locator, this, buffer);
1026            return buffer;
1027        }
1028
1029        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1030            {
1031                DtoQueue theQueue;
1032                theQueue = this.getQueue();
1033                strategy.appendField(locator, this, "queue", buffer, theQueue);
1034            }
1035            {
1036                DtoTempQueue theTempQueue;
1037                theTempQueue = this.getTempQueue();
1038                strategy.appendField(locator, this, "tempQueue", buffer, theTempQueue);
1039            }
1040            {
1041                DtoTempTopic theTempTopic;
1042                theTempTopic = this.getTempTopic();
1043                strategy.appendField(locator, this, "tempTopic", buffer, theTempTopic);
1044            }
1045            {
1046                DtoTopic theTopic;
1047                theTopic = this.getTopic();
1048                strategy.appendField(locator, this, "topic", buffer, theTopic);
1049            }
1050            {
1051                Object theAny;
1052                theAny = this.getAny();
1053                strategy.appendField(locator, this, "any", buffer, theAny);
1054            }
1055            return buffer;
1056        }
1057
1058        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1059            int currentHashCode = 1;
1060            {
1061                DtoQueue theQueue;
1062                theQueue = this.getQueue();
1063                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queue", theQueue), currentHashCode, theQueue);
1064            }
1065            {
1066                DtoTempQueue theTempQueue;
1067                theTempQueue = this.getTempQueue();
1068                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempQueue", theTempQueue), currentHashCode, theTempQueue);
1069            }
1070            {
1071                DtoTempTopic theTempTopic;
1072                theTempTopic = this.getTempTopic();
1073                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tempTopic", theTempTopic), currentHashCode, theTempTopic);
1074            }
1075            {
1076                DtoTopic theTopic;
1077                theTopic = this.getTopic();
1078                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "topic", theTopic), currentHashCode, theTopic);
1079            }
1080            {
1081                Object theAny;
1082                theAny = this.getAny();
1083                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1084            }
1085            return currentHashCode;
1086        }
1087
1088        public int hashCode() {
1089            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1090            return this.hashCode(null, strategy);
1091        }
1092
1093        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1094            if (!(object instanceof DtoRedeliveryPolicy.Destination)) {
1095                return false;
1096            }
1097            if (this == object) {
1098                return true;
1099            }
1100            final DtoRedeliveryPolicy.Destination that = ((DtoRedeliveryPolicy.Destination) object);
1101            {
1102                DtoQueue lhsQueue;
1103                lhsQueue = this.getQueue();
1104                DtoQueue rhsQueue;
1105                rhsQueue = that.getQueue();
1106                if (!strategy.equals(LocatorUtils.property(thisLocator, "queue", lhsQueue), LocatorUtils.property(thatLocator, "queue", rhsQueue), lhsQueue, rhsQueue)) {
1107                    return false;
1108                }
1109            }
1110            {
1111                DtoTempQueue lhsTempQueue;
1112                lhsTempQueue = this.getTempQueue();
1113                DtoTempQueue rhsTempQueue;
1114                rhsTempQueue = that.getTempQueue();
1115                if (!strategy.equals(LocatorUtils.property(thisLocator, "tempQueue", lhsTempQueue), LocatorUtils.property(thatLocator, "tempQueue", rhsTempQueue), lhsTempQueue, rhsTempQueue)) {
1116                    return false;
1117                }
1118            }
1119            {
1120                DtoTempTopic lhsTempTopic;
1121                lhsTempTopic = this.getTempTopic();
1122                DtoTempTopic rhsTempTopic;
1123                rhsTempTopic = that.getTempTopic();
1124                if (!strategy.equals(LocatorUtils.property(thisLocator, "tempTopic", lhsTempTopic), LocatorUtils.property(thatLocator, "tempTopic", rhsTempTopic), lhsTempTopic, rhsTempTopic)) {
1125                    return false;
1126                }
1127            }
1128            {
1129                DtoTopic lhsTopic;
1130                lhsTopic = this.getTopic();
1131                DtoTopic rhsTopic;
1132                rhsTopic = that.getTopic();
1133                if (!strategy.equals(LocatorUtils.property(thisLocator, "topic", lhsTopic), LocatorUtils.property(thatLocator, "topic", rhsTopic), lhsTopic, rhsTopic)) {
1134                    return false;
1135                }
1136            }
1137            {
1138                Object lhsAny;
1139                lhsAny = this.getAny();
1140                Object rhsAny;
1141                rhsAny = that.getAny();
1142                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1143                    return false;
1144                }
1145            }
1146            return true;
1147        }
1148
1149        public boolean equals(Object object) {
1150            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1151            return equals(null, null, object, strategy);
1152        }
1153
1154    }
1155
1156}