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.util.ArrayList;
012import java.util.HashMap;
013import java.util.List;
014import java.util.Map;
015import javax.xml.bind.JAXBElement;
016import javax.xml.bind.annotation.XmlAccessType;
017import javax.xml.bind.annotation.XmlAccessorType;
018import javax.xml.bind.annotation.XmlAnyAttribute;
019import javax.xml.bind.annotation.XmlAnyElement;
020import javax.xml.bind.annotation.XmlAttribute;
021import javax.xml.bind.annotation.XmlElementRef;
022import javax.xml.bind.annotation.XmlID;
023import javax.xml.bind.annotation.XmlRootElement;
024import javax.xml.bind.annotation.XmlSchemaType;
025import javax.xml.bind.annotation.XmlType;
026import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
027import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
028import javax.xml.namespace.QName;
029import org.jvnet.jaxb2_commons.lang.Equals;
030import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
031import org.jvnet.jaxb2_commons.lang.HashCode;
032import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
033import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
034import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
035import org.jvnet.jaxb2_commons.lang.ToString;
036import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
037import org.jvnet.jaxb2_commons.locator.ObjectLocator;
038import 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}destinationsPlugin"/>
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="recoverDuration" type="{http://www.w3.org/2001/XMLSchema}long" />
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 = "timedSubscriptionRecoveryPolicy")
091public class DtoTimedSubscriptionRecoveryPolicy
092    implements Equals, HashCode, ToString
093{
094
095    @XmlElementRef(name = "broker", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
096    @XmlAnyElement(lax = true)
097    protected List<Object> brokerOrAny;
098    @XmlAttribute(name = "broker")
099    protected String broker;
100    @XmlAttribute(name = "recoverDuration")
101    protected Long recoverDuration;
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 Object }
129     * {@link JAXBElement }{@code <}{@link DtoTimedSubscriptionRecoveryPolicy.Broker }{@code >}
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 recoverDuration property.
166     * 
167     * @return
168     *     possible object is
169     *     {@link Long }
170     *     
171     */
172    public Long getRecoverDuration() {
173        return recoverDuration;
174    }
175
176    /**
177     * Sets the value of the recoverDuration property.
178     * 
179     * @param value
180     *     allowed object is
181     *     {@link Long }
182     *     
183     */
184    public void setRecoverDuration(Long value) {
185        this.recoverDuration = 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            Long theRecoverDuration;
257            theRecoverDuration = this.getRecoverDuration();
258            strategy.appendField(locator, this, "recoverDuration", buffer, theRecoverDuration);
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            Long theRecoverDuration;
282            theRecoverDuration = this.getRecoverDuration();
283            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "recoverDuration", theRecoverDuration), currentHashCode, theRecoverDuration);
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 DtoTimedSubscriptionRecoveryPolicy)) {
300            return false;
301        }
302        if (this == object) {
303            return true;
304        }
305        final DtoTimedSubscriptionRecoveryPolicy that = ((DtoTimedSubscriptionRecoveryPolicy) 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            Long lhsRecoverDuration;
326            lhsRecoverDuration = this.getRecoverDuration();
327            Long rhsRecoverDuration;
328            rhsRecoverDuration = that.getRecoverDuration();
329            if (!strategy.equals(LocatorUtils.property(thisLocator, "recoverDuration", lhsRecoverDuration), LocatorUtils.property(thatLocator, "recoverDuration", rhsRecoverDuration), lhsRecoverDuration, rhsRecoverDuration)) {
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}destinationsPlugin"/>
363     *         &lt;element ref="{http://activemq.apache.org/schema/core}forcePersistencyModeBroker"/>
364     *         &lt;element ref="{http://activemq.apache.org/schema/core}loggingBrokerPlugin"/>
365     *         &lt;element ref="{http://activemq.apache.org/schema/core}multicastTraceBrokerPlugin"/>
366     *         &lt;element ref="{http://activemq.apache.org/schema/core}redeliveryPlugin"/>
367     *         &lt;element ref="{http://activemq.apache.org/schema/core}timeStampingBrokerPlugin"/>
368     *         &lt;element ref="{http://activemq.apache.org/schema/core}traceBrokerPathPlugin"/>
369     *         &lt;element ref="{http://activemq.apache.org/schema/core}udpTraceBrokerPlugin"/>
370     *         &lt;any namespace='##other'/>
371     *       &lt;/choice>
372     *     &lt;/restriction>
373     *   &lt;/complexContent>
374     * &lt;/complexType>
375     * </pre>
376     * 
377     * 
378     */
379    @XmlAccessorType(XmlAccessType.FIELD)
380    @XmlType(name = "", propOrder = {
381        "destinationPathSeparatorPlugin",
382        "destinationsPlugin",
383        "forcePersistencyModeBroker",
384        "loggingBrokerPlugin",
385        "multicastTraceBrokerPlugin",
386        "redeliveryPlugin",
387        "timeStampingBrokerPlugin",
388        "traceBrokerPathPlugin",
389        "udpTraceBrokerPlugin",
390        "any"
391    })
392    public static class Broker
393        implements Equals, HashCode, ToString
394    {
395
396        protected DtoDestinationPathSeparatorPlugin destinationPathSeparatorPlugin;
397        protected DtoDestinationsPlugin destinationsPlugin;
398        protected DtoForcePersistencyModeBroker forcePersistencyModeBroker;
399        protected DtoLoggingBrokerPlugin loggingBrokerPlugin;
400        protected DtoMulticastTraceBrokerPlugin multicastTraceBrokerPlugin;
401        protected DtoRedeliveryPlugin redeliveryPlugin;
402        protected DtoTimeStampingBrokerPlugin timeStampingBrokerPlugin;
403        protected DtoTraceBrokerPathPlugin traceBrokerPathPlugin;
404        protected DtoUdpTraceBrokerPlugin udpTraceBrokerPlugin;
405        @XmlAnyElement(lax = true)
406        protected Object any;
407
408        /**
409         * Gets the value of the destinationPathSeparatorPlugin property.
410         * 
411         * @return
412         *     possible object is
413         *     {@link DtoDestinationPathSeparatorPlugin }
414         *     
415         */
416        public DtoDestinationPathSeparatorPlugin getDestinationPathSeparatorPlugin() {
417            return destinationPathSeparatorPlugin;
418        }
419
420        /**
421         * Sets the value of the destinationPathSeparatorPlugin property.
422         * 
423         * @param value
424         *     allowed object is
425         *     {@link DtoDestinationPathSeparatorPlugin }
426         *     
427         */
428        public void setDestinationPathSeparatorPlugin(DtoDestinationPathSeparatorPlugin value) {
429            this.destinationPathSeparatorPlugin = value;
430        }
431
432        /**
433         * Gets the value of the destinationsPlugin property.
434         * 
435         * @return
436         *     possible object is
437         *     {@link DtoDestinationsPlugin }
438         *     
439         */
440        public DtoDestinationsPlugin getDestinationsPlugin() {
441            return destinationsPlugin;
442        }
443
444        /**
445         * Sets the value of the destinationsPlugin property.
446         * 
447         * @param value
448         *     allowed object is
449         *     {@link DtoDestinationsPlugin }
450         *     
451         */
452        public void setDestinationsPlugin(DtoDestinationsPlugin value) {
453            this.destinationsPlugin = value;
454        }
455
456        /**
457         * Gets the value of the forcePersistencyModeBroker property.
458         * 
459         * @return
460         *     possible object is
461         *     {@link DtoForcePersistencyModeBroker }
462         *     
463         */
464        public DtoForcePersistencyModeBroker getForcePersistencyModeBroker() {
465            return forcePersistencyModeBroker;
466        }
467
468        /**
469         * Sets the value of the forcePersistencyModeBroker property.
470         * 
471         * @param value
472         *     allowed object is
473         *     {@link DtoForcePersistencyModeBroker }
474         *     
475         */
476        public void setForcePersistencyModeBroker(DtoForcePersistencyModeBroker value) {
477            this.forcePersistencyModeBroker = value;
478        }
479
480        /**
481         * Gets the value of the loggingBrokerPlugin property.
482         * 
483         * @return
484         *     possible object is
485         *     {@link DtoLoggingBrokerPlugin }
486         *     
487         */
488        public DtoLoggingBrokerPlugin getLoggingBrokerPlugin() {
489            return loggingBrokerPlugin;
490        }
491
492        /**
493         * Sets the value of the loggingBrokerPlugin property.
494         * 
495         * @param value
496         *     allowed object is
497         *     {@link DtoLoggingBrokerPlugin }
498         *     
499         */
500        public void setLoggingBrokerPlugin(DtoLoggingBrokerPlugin value) {
501            this.loggingBrokerPlugin = value;
502        }
503
504        /**
505         * Gets the value of the multicastTraceBrokerPlugin property.
506         * 
507         * @return
508         *     possible object is
509         *     {@link DtoMulticastTraceBrokerPlugin }
510         *     
511         */
512        public DtoMulticastTraceBrokerPlugin getMulticastTraceBrokerPlugin() {
513            return multicastTraceBrokerPlugin;
514        }
515
516        /**
517         * Sets the value of the multicastTraceBrokerPlugin property.
518         * 
519         * @param value
520         *     allowed object is
521         *     {@link DtoMulticastTraceBrokerPlugin }
522         *     
523         */
524        public void setMulticastTraceBrokerPlugin(DtoMulticastTraceBrokerPlugin value) {
525            this.multicastTraceBrokerPlugin = value;
526        }
527
528        /**
529         * Gets the value of the redeliveryPlugin property.
530         * 
531         * @return
532         *     possible object is
533         *     {@link DtoRedeliveryPlugin }
534         *     
535         */
536        public DtoRedeliveryPlugin getRedeliveryPlugin() {
537            return redeliveryPlugin;
538        }
539
540        /**
541         * Sets the value of the redeliveryPlugin property.
542         * 
543         * @param value
544         *     allowed object is
545         *     {@link DtoRedeliveryPlugin }
546         *     
547         */
548        public void setRedeliveryPlugin(DtoRedeliveryPlugin value) {
549            this.redeliveryPlugin = value;
550        }
551
552        /**
553         * Gets the value of the timeStampingBrokerPlugin property.
554         * 
555         * @return
556         *     possible object is
557         *     {@link DtoTimeStampingBrokerPlugin }
558         *     
559         */
560        public DtoTimeStampingBrokerPlugin getTimeStampingBrokerPlugin() {
561            return timeStampingBrokerPlugin;
562        }
563
564        /**
565         * Sets the value of the timeStampingBrokerPlugin property.
566         * 
567         * @param value
568         *     allowed object is
569         *     {@link DtoTimeStampingBrokerPlugin }
570         *     
571         */
572        public void setTimeStampingBrokerPlugin(DtoTimeStampingBrokerPlugin value) {
573            this.timeStampingBrokerPlugin = value;
574        }
575
576        /**
577         * Gets the value of the traceBrokerPathPlugin property.
578         * 
579         * @return
580         *     possible object is
581         *     {@link DtoTraceBrokerPathPlugin }
582         *     
583         */
584        public DtoTraceBrokerPathPlugin getTraceBrokerPathPlugin() {
585            return traceBrokerPathPlugin;
586        }
587
588        /**
589         * Sets the value of the traceBrokerPathPlugin property.
590         * 
591         * @param value
592         *     allowed object is
593         *     {@link DtoTraceBrokerPathPlugin }
594         *     
595         */
596        public void setTraceBrokerPathPlugin(DtoTraceBrokerPathPlugin value) {
597            this.traceBrokerPathPlugin = value;
598        }
599
600        /**
601         * Gets the value of the udpTraceBrokerPlugin property.
602         * 
603         * @return
604         *     possible object is
605         *     {@link DtoUdpTraceBrokerPlugin }
606         *     
607         */
608        public DtoUdpTraceBrokerPlugin getUdpTraceBrokerPlugin() {
609            return udpTraceBrokerPlugin;
610        }
611
612        /**
613         * Sets the value of the udpTraceBrokerPlugin property.
614         * 
615         * @param value
616         *     allowed object is
617         *     {@link DtoUdpTraceBrokerPlugin }
618         *     
619         */
620        public void setUdpTraceBrokerPlugin(DtoUdpTraceBrokerPlugin value) {
621            this.udpTraceBrokerPlugin = value;
622        }
623
624        /**
625         * Gets the value of the any property.
626         * 
627         * @return
628         *     possible object is
629         *     {@link Object }
630         *     
631         */
632        public Object getAny() {
633            return any;
634        }
635
636        /**
637         * Sets the value of the any property.
638         * 
639         * @param value
640         *     allowed object is
641         *     {@link Object }
642         *     
643         */
644        public void setAny(Object value) {
645            this.any = value;
646        }
647
648        public String toString() {
649            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
650            final StringBuilder buffer = new StringBuilder();
651            append(null, buffer, strategy);
652            return buffer.toString();
653        }
654
655        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
656            strategy.appendStart(locator, this, buffer);
657            appendFields(locator, buffer, strategy);
658            strategy.appendEnd(locator, this, buffer);
659            return buffer;
660        }
661
662        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
663            {
664                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
665                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
666                strategy.appendField(locator, this, "destinationPathSeparatorPlugin", buffer, theDestinationPathSeparatorPlugin);
667            }
668            {
669                DtoDestinationsPlugin theDestinationsPlugin;
670                theDestinationsPlugin = this.getDestinationsPlugin();
671                strategy.appendField(locator, this, "destinationsPlugin", buffer, theDestinationsPlugin);
672            }
673            {
674                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
675                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
676                strategy.appendField(locator, this, "forcePersistencyModeBroker", buffer, theForcePersistencyModeBroker);
677            }
678            {
679                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
680                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
681                strategy.appendField(locator, this, "loggingBrokerPlugin", buffer, theLoggingBrokerPlugin);
682            }
683            {
684                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
685                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
686                strategy.appendField(locator, this, "multicastTraceBrokerPlugin", buffer, theMulticastTraceBrokerPlugin);
687            }
688            {
689                DtoRedeliveryPlugin theRedeliveryPlugin;
690                theRedeliveryPlugin = this.getRedeliveryPlugin();
691                strategy.appendField(locator, this, "redeliveryPlugin", buffer, theRedeliveryPlugin);
692            }
693            {
694                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
695                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
696                strategy.appendField(locator, this, "timeStampingBrokerPlugin", buffer, theTimeStampingBrokerPlugin);
697            }
698            {
699                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
700                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
701                strategy.appendField(locator, this, "traceBrokerPathPlugin", buffer, theTraceBrokerPathPlugin);
702            }
703            {
704                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
705                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
706                strategy.appendField(locator, this, "udpTraceBrokerPlugin", buffer, theUdpTraceBrokerPlugin);
707            }
708            {
709                Object theAny;
710                theAny = this.getAny();
711                strategy.appendField(locator, this, "any", buffer, theAny);
712            }
713            return buffer;
714        }
715
716        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
717            int currentHashCode = 1;
718            {
719                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
720                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
721                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationPathSeparatorPlugin", theDestinationPathSeparatorPlugin), currentHashCode, theDestinationPathSeparatorPlugin);
722            }
723            {
724                DtoDestinationsPlugin theDestinationsPlugin;
725                theDestinationsPlugin = this.getDestinationsPlugin();
726                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationsPlugin", theDestinationsPlugin), currentHashCode, theDestinationsPlugin);
727            }
728            {
729                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
730                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
731                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "forcePersistencyModeBroker", theForcePersistencyModeBroker), currentHashCode, theForcePersistencyModeBroker);
732            }
733            {
734                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
735                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
736                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "loggingBrokerPlugin", theLoggingBrokerPlugin), currentHashCode, theLoggingBrokerPlugin);
737            }
738            {
739                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
740                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
741                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "multicastTraceBrokerPlugin", theMulticastTraceBrokerPlugin), currentHashCode, theMulticastTraceBrokerPlugin);
742            }
743            {
744                DtoRedeliveryPlugin theRedeliveryPlugin;
745                theRedeliveryPlugin = this.getRedeliveryPlugin();
746                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "redeliveryPlugin", theRedeliveryPlugin), currentHashCode, theRedeliveryPlugin);
747            }
748            {
749                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
750                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
751                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "timeStampingBrokerPlugin", theTimeStampingBrokerPlugin), currentHashCode, theTimeStampingBrokerPlugin);
752            }
753            {
754                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
755                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
756                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "traceBrokerPathPlugin", theTraceBrokerPathPlugin), currentHashCode, theTraceBrokerPathPlugin);
757            }
758            {
759                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
760                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
761                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "udpTraceBrokerPlugin", theUdpTraceBrokerPlugin), currentHashCode, theUdpTraceBrokerPlugin);
762            }
763            {
764                Object theAny;
765                theAny = this.getAny();
766                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
767            }
768            return currentHashCode;
769        }
770
771        public int hashCode() {
772            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
773            return this.hashCode(null, strategy);
774        }
775
776        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
777            if (!(object instanceof DtoTimedSubscriptionRecoveryPolicy.Broker)) {
778                return false;
779            }
780            if (this == object) {
781                return true;
782            }
783            final DtoTimedSubscriptionRecoveryPolicy.Broker that = ((DtoTimedSubscriptionRecoveryPolicy.Broker) object);
784            {
785                DtoDestinationPathSeparatorPlugin lhsDestinationPathSeparatorPlugin;
786                lhsDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
787                DtoDestinationPathSeparatorPlugin rhsDestinationPathSeparatorPlugin;
788                rhsDestinationPathSeparatorPlugin = that.getDestinationPathSeparatorPlugin();
789                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationPathSeparatorPlugin", lhsDestinationPathSeparatorPlugin), LocatorUtils.property(thatLocator, "destinationPathSeparatorPlugin", rhsDestinationPathSeparatorPlugin), lhsDestinationPathSeparatorPlugin, rhsDestinationPathSeparatorPlugin)) {
790                    return false;
791                }
792            }
793            {
794                DtoDestinationsPlugin lhsDestinationsPlugin;
795                lhsDestinationsPlugin = this.getDestinationsPlugin();
796                DtoDestinationsPlugin rhsDestinationsPlugin;
797                rhsDestinationsPlugin = that.getDestinationsPlugin();
798                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationsPlugin", lhsDestinationsPlugin), LocatorUtils.property(thatLocator, "destinationsPlugin", rhsDestinationsPlugin), lhsDestinationsPlugin, rhsDestinationsPlugin)) {
799                    return false;
800                }
801            }
802            {
803                DtoForcePersistencyModeBroker lhsForcePersistencyModeBroker;
804                lhsForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
805                DtoForcePersistencyModeBroker rhsForcePersistencyModeBroker;
806                rhsForcePersistencyModeBroker = that.getForcePersistencyModeBroker();
807                if (!strategy.equals(LocatorUtils.property(thisLocator, "forcePersistencyModeBroker", lhsForcePersistencyModeBroker), LocatorUtils.property(thatLocator, "forcePersistencyModeBroker", rhsForcePersistencyModeBroker), lhsForcePersistencyModeBroker, rhsForcePersistencyModeBroker)) {
808                    return false;
809                }
810            }
811            {
812                DtoLoggingBrokerPlugin lhsLoggingBrokerPlugin;
813                lhsLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
814                DtoLoggingBrokerPlugin rhsLoggingBrokerPlugin;
815                rhsLoggingBrokerPlugin = that.getLoggingBrokerPlugin();
816                if (!strategy.equals(LocatorUtils.property(thisLocator, "loggingBrokerPlugin", lhsLoggingBrokerPlugin), LocatorUtils.property(thatLocator, "loggingBrokerPlugin", rhsLoggingBrokerPlugin), lhsLoggingBrokerPlugin, rhsLoggingBrokerPlugin)) {
817                    return false;
818                }
819            }
820            {
821                DtoMulticastTraceBrokerPlugin lhsMulticastTraceBrokerPlugin;
822                lhsMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
823                DtoMulticastTraceBrokerPlugin rhsMulticastTraceBrokerPlugin;
824                rhsMulticastTraceBrokerPlugin = that.getMulticastTraceBrokerPlugin();
825                if (!strategy.equals(LocatorUtils.property(thisLocator, "multicastTraceBrokerPlugin", lhsMulticastTraceBrokerPlugin), LocatorUtils.property(thatLocator, "multicastTraceBrokerPlugin", rhsMulticastTraceBrokerPlugin), lhsMulticastTraceBrokerPlugin, rhsMulticastTraceBrokerPlugin)) {
826                    return false;
827                }
828            }
829            {
830                DtoRedeliveryPlugin lhsRedeliveryPlugin;
831                lhsRedeliveryPlugin = this.getRedeliveryPlugin();
832                DtoRedeliveryPlugin rhsRedeliveryPlugin;
833                rhsRedeliveryPlugin = that.getRedeliveryPlugin();
834                if (!strategy.equals(LocatorUtils.property(thisLocator, "redeliveryPlugin", lhsRedeliveryPlugin), LocatorUtils.property(thatLocator, "redeliveryPlugin", rhsRedeliveryPlugin), lhsRedeliveryPlugin, rhsRedeliveryPlugin)) {
835                    return false;
836                }
837            }
838            {
839                DtoTimeStampingBrokerPlugin lhsTimeStampingBrokerPlugin;
840                lhsTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
841                DtoTimeStampingBrokerPlugin rhsTimeStampingBrokerPlugin;
842                rhsTimeStampingBrokerPlugin = that.getTimeStampingBrokerPlugin();
843                if (!strategy.equals(LocatorUtils.property(thisLocator, "timeStampingBrokerPlugin", lhsTimeStampingBrokerPlugin), LocatorUtils.property(thatLocator, "timeStampingBrokerPlugin", rhsTimeStampingBrokerPlugin), lhsTimeStampingBrokerPlugin, rhsTimeStampingBrokerPlugin)) {
844                    return false;
845                }
846            }
847            {
848                DtoTraceBrokerPathPlugin lhsTraceBrokerPathPlugin;
849                lhsTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
850                DtoTraceBrokerPathPlugin rhsTraceBrokerPathPlugin;
851                rhsTraceBrokerPathPlugin = that.getTraceBrokerPathPlugin();
852                if (!strategy.equals(LocatorUtils.property(thisLocator, "traceBrokerPathPlugin", lhsTraceBrokerPathPlugin), LocatorUtils.property(thatLocator, "traceBrokerPathPlugin", rhsTraceBrokerPathPlugin), lhsTraceBrokerPathPlugin, rhsTraceBrokerPathPlugin)) {
853                    return false;
854                }
855            }
856            {
857                DtoUdpTraceBrokerPlugin lhsUdpTraceBrokerPlugin;
858                lhsUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
859                DtoUdpTraceBrokerPlugin rhsUdpTraceBrokerPlugin;
860                rhsUdpTraceBrokerPlugin = that.getUdpTraceBrokerPlugin();
861                if (!strategy.equals(LocatorUtils.property(thisLocator, "udpTraceBrokerPlugin", lhsUdpTraceBrokerPlugin), LocatorUtils.property(thatLocator, "udpTraceBrokerPlugin", rhsUdpTraceBrokerPlugin), lhsUdpTraceBrokerPlugin, rhsUdpTraceBrokerPlugin)) {
862                    return false;
863                }
864            }
865            {
866                Object lhsAny;
867                lhsAny = this.getAny();
868                Object rhsAny;
869                rhsAny = that.getAny();
870                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
871                    return false;
872                }
873            }
874            return true;
875        }
876
877        public boolean equals(Object object) {
878            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
879            return equals(null, null, object, strategy);
880        }
881
882    }
883
884}