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