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