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.math.BigInteger;
012    import java.util.ArrayList;
013    import java.util.HashMap;
014    import java.util.List;
015    import java.util.Map;
016    import javax.xml.bind.JAXBElement;
017    import javax.xml.bind.annotation.XmlAccessType;
018    import javax.xml.bind.annotation.XmlAccessorType;
019    import javax.xml.bind.annotation.XmlAnyAttribute;
020    import javax.xml.bind.annotation.XmlAnyElement;
021    import javax.xml.bind.annotation.XmlAttribute;
022    import javax.xml.bind.annotation.XmlElementRef;
023    import javax.xml.bind.annotation.XmlID;
024    import javax.xml.bind.annotation.XmlRootElement;
025    import javax.xml.bind.annotation.XmlSchemaType;
026    import javax.xml.bind.annotation.XmlType;
027    import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
028    import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
029    import javax.xml.namespace.QName;
030    import org.jvnet.jaxb2_commons.lang.Equals;
031    import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
032    import org.jvnet.jaxb2_commons.lang.HashCode;
033    import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
034    import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
035    import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
036    import org.jvnet.jaxb2_commons.lang.ToString;
037    import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
038    import org.jvnet.jaxb2_commons.locator.ObjectLocator;
039    import 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")
098    public class DtoRedeliveryPolicy
099        implements Equals, HashCode, ToString
100    {
101    
102        @XmlElementRef(name = "destination", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class)
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 JAXBElement }{@code <}{@link DtoRedeliveryPolicy.Destination }{@code >}
158         * {@link Object }
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    }