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