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