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.XmlElementRefs;
024import javax.xml.bind.annotation.XmlID;
025import javax.xml.bind.annotation.XmlRootElement;
026import javax.xml.bind.annotation.XmlSchemaType;
027import javax.xml.bind.annotation.XmlType;
028import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
029import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
030import javax.xml.namespace.QName;
031import org.jvnet.jaxb2_commons.lang.Equals;
032import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
033import org.jvnet.jaxb2_commons.lang.HashCode;
034import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
035import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
036import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
037import org.jvnet.jaxb2_commons.lang.ToString;
038import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
039import org.jvnet.jaxb2_commons.locator.ObjectLocator;
040import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
041
042
043/**
044 * <p>Java class for anonymous complex type.
045 * 
046 * <p>The following schema fragment specifies the expected content contained within this class.
047 * 
048 * <pre>
049 * &lt;complexType>
050 *   &lt;complexContent>
051 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
052 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
053 *         &lt;choice>
054 *           &lt;element name="address" minOccurs="0">
055 *             &lt;complexType>
056 *               &lt;complexContent>
057 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
058 *                   &lt;sequence minOccurs="0">
059 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
060 *                   &lt;/sequence>
061 *                 &lt;/restriction>
062 *               &lt;/complexContent>
063 *             &lt;/complexType>
064 *           &lt;/element>
065 *           &lt;element name="adminConnectionContext" minOccurs="0">
066 *             &lt;complexType>
067 *               &lt;complexContent>
068 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
069 *                   &lt;sequence minOccurs="0">
070 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
071 *                   &lt;/sequence>
072 *                 &lt;/restriction>
073 *               &lt;/complexContent>
074 *             &lt;/complexType>
075 *           &lt;/element>
076 *           &lt;element name="next" minOccurs="0">
077 *             &lt;complexType>
078 *               &lt;complexContent>
079 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
080 *                   &lt;choice minOccurs="0">
081 *                     &lt;element ref="{http://activemq.apache.org/schema/core}destinationPathSeparatorPlugin"/>
082 *                     &lt;element ref="{http://activemq.apache.org/schema/core}destinationsPlugin"/>
083 *                     &lt;element ref="{http://activemq.apache.org/schema/core}forcePersistencyModeBroker"/>
084 *                     &lt;element ref="{http://activemq.apache.org/schema/core}loggingBrokerPlugin"/>
085 *                     &lt;element ref="{http://activemq.apache.org/schema/core}multicastTraceBrokerPlugin"/>
086 *                     &lt;element ref="{http://activemq.apache.org/schema/core}redeliveryPlugin"/>
087 *                     &lt;element ref="{http://activemq.apache.org/schema/core}timeStampingBrokerPlugin"/>
088 *                     &lt;element ref="{http://activemq.apache.org/schema/core}traceBrokerPathPlugin"/>
089 *                     &lt;element ref="{http://activemq.apache.org/schema/core}udpTraceBrokerPlugin"/>
090 *                     &lt;any namespace='##other'/>
091 *                   &lt;/choice>
092 *                 &lt;/restriction>
093 *               &lt;/complexContent>
094 *             &lt;/complexType>
095 *           &lt;/element>
096 *           &lt;element name="wireFormat" minOccurs="0">
097 *             &lt;complexType>
098 *               &lt;complexContent>
099 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
100 *                   &lt;sequence minOccurs="0">
101 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
102 *                   &lt;/sequence>
103 *                 &lt;/restriction>
104 *               &lt;/complexContent>
105 *             &lt;/complexType>
106 *           &lt;/element>
107 *           &lt;element name="wireFormatFactory" minOccurs="0">
108 *             &lt;complexType>
109 *               &lt;complexContent>
110 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
111 *                   &lt;sequence minOccurs="0">
112 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
113 *                   &lt;/sequence>
114 *                 &lt;/restriction>
115 *               &lt;/complexContent>
116 *             &lt;/complexType>
117 *           &lt;/element>
118 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
119 *         &lt;/choice>
120 *       &lt;/choice>
121 *       &lt;attribute name="address" type="{http://www.w3.org/2001/XMLSchema}string" />
122 *       &lt;attribute name="adminConnectionContext" type="{http://www.w3.org/2001/XMLSchema}string" />
123 *       &lt;attribute name="broadcast" type="{http://www.w3.org/2001/XMLSchema}boolean" />
124 *       &lt;attribute name="destination" type="{http://www.w3.org/2001/XMLSchema}string" />
125 *       &lt;attribute name="maxTraceDatagramSize" type="{http://www.w3.org/2001/XMLSchema}integer" />
126 *       &lt;attribute name="next" type="{http://www.w3.org/2001/XMLSchema}string" />
127 *       &lt;attribute name="timeToLive" type="{http://www.w3.org/2001/XMLSchema}integer" />
128 *       &lt;attribute name="wireFormat" type="{http://www.w3.org/2001/XMLSchema}string" />
129 *       &lt;attribute name="wireFormatFactory" type="{http://www.w3.org/2001/XMLSchema}string" />
130 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
131 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
132 *     &lt;/restriction>
133 *   &lt;/complexContent>
134 * &lt;/complexType>
135 * </pre>
136 * 
137 * 
138 */
139@XmlAccessorType(XmlAccessType.FIELD)
140@XmlType(name = "", propOrder = {
141    "addressOrAdminConnectionContextOrNext"
142})
143@XmlRootElement(name = "multicastTraceBrokerPlugin")
144public class DtoMulticastTraceBrokerPlugin implements Equals, HashCode, ToString
145{
146
147    @XmlElementRefs({
148        @XmlElementRef(name = "adminConnectionContext", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
149        @XmlElementRef(name = "address", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
150        @XmlElementRef(name = "next", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
151        @XmlElementRef(name = "wireFormatFactory", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
152        @XmlElementRef(name = "wireFormat", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
153    })
154    @XmlAnyElement(lax = true)
155    protected List<Object> addressOrAdminConnectionContextOrNext;
156    @XmlAttribute(name = "address")
157    protected String address;
158    @XmlAttribute(name = "adminConnectionContext")
159    protected String adminConnectionContext;
160    @XmlAttribute(name = "broadcast")
161    protected Boolean broadcast;
162    @XmlAttribute(name = "destination")
163    protected String destination;
164    @XmlAttribute(name = "maxTraceDatagramSize")
165    protected BigInteger maxTraceDatagramSize;
166    @XmlAttribute(name = "next")
167    protected String next;
168    @XmlAttribute(name = "timeToLive")
169    protected BigInteger timeToLive;
170    @XmlAttribute(name = "wireFormat")
171    protected String wireFormat;
172    @XmlAttribute(name = "wireFormatFactory")
173    protected String wireFormatFactory;
174    @XmlAttribute(name = "id")
175    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
176    @XmlID
177    @XmlSchemaType(name = "ID")
178    protected String id;
179    @XmlAnyAttribute
180    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
181
182    /**
183     * Gets the value of the addressOrAdminConnectionContextOrNext property.
184     * 
185     * <p>
186     * This accessor method returns a reference to the live list,
187     * not a snapshot. Therefore any modification you make to the
188     * returned list will be present inside the JAXB object.
189     * This is why there is not a <CODE>set</CODE> method for the addressOrAdminConnectionContextOrNext property.
190     * 
191     * <p>
192     * For example, to add a new item, do as follows:
193     * <pre>
194     *    getAddressOrAdminConnectionContextOrNext().add(newItem);
195     * </pre>
196     * 
197     * 
198     * <p>
199     * Objects of the following type(s) are allowed in the list
200     * {@link JAXBElement }{@code <}{@link DtoMulticastTraceBrokerPlugin.Next }{@code >}
201     * {@link Object }
202     * {@link JAXBElement }{@code <}{@link DtoMulticastTraceBrokerPlugin.AdminConnectionContext }{@code >}
203     * {@link JAXBElement }{@code <}{@link DtoMulticastTraceBrokerPlugin.Address }{@code >}
204     * {@link JAXBElement }{@code <}{@link DtoMulticastTraceBrokerPlugin.WireFormatFactory }{@code >}
205     * {@link JAXBElement }{@code <}{@link DtoMulticastTraceBrokerPlugin.WireFormat }{@code >}
206     * 
207     * 
208     */
209    public List<Object> getAddressOrAdminConnectionContextOrNext() {
210        if (addressOrAdminConnectionContextOrNext == null) {
211            addressOrAdminConnectionContextOrNext = new ArrayList<Object>();
212        }
213        return this.addressOrAdminConnectionContextOrNext;
214    }
215
216    /**
217     * Gets the value of the address property.
218     * 
219     * @return
220     *     possible object is
221     *     {@link String }
222     *     
223     */
224    public String getAddress() {
225        return address;
226    }
227
228    /**
229     * Sets the value of the address property.
230     * 
231     * @param value
232     *     allowed object is
233     *     {@link String }
234     *     
235     */
236    public void setAddress(String value) {
237        this.address = value;
238    }
239
240    /**
241     * Gets the value of the adminConnectionContext property.
242     * 
243     * @return
244     *     possible object is
245     *     {@link String }
246     *     
247     */
248    public String getAdminConnectionContext() {
249        return adminConnectionContext;
250    }
251
252    /**
253     * Sets the value of the adminConnectionContext property.
254     * 
255     * @param value
256     *     allowed object is
257     *     {@link String }
258     *     
259     */
260    public void setAdminConnectionContext(String value) {
261        this.adminConnectionContext = value;
262    }
263
264    /**
265     * Gets the value of the broadcast property.
266     * 
267     * @return
268     *     possible object is
269     *     {@link Boolean }
270     *     
271     */
272    public Boolean isBroadcast() {
273        return broadcast;
274    }
275
276    /**
277     * Sets the value of the broadcast property.
278     * 
279     * @param value
280     *     allowed object is
281     *     {@link Boolean }
282     *     
283     */
284    public void setBroadcast(Boolean value) {
285        this.broadcast = value;
286    }
287
288    /**
289     * Gets the value of the destination property.
290     * 
291     * @return
292     *     possible object is
293     *     {@link String }
294     *     
295     */
296    public String getDestination() {
297        return destination;
298    }
299
300    /**
301     * Sets the value of the destination property.
302     * 
303     * @param value
304     *     allowed object is
305     *     {@link String }
306     *     
307     */
308    public void setDestination(String value) {
309        this.destination = value;
310    }
311
312    /**
313     * Gets the value of the maxTraceDatagramSize property.
314     * 
315     * @return
316     *     possible object is
317     *     {@link BigInteger }
318     *     
319     */
320    public BigInteger getMaxTraceDatagramSize() {
321        return maxTraceDatagramSize;
322    }
323
324    /**
325     * Sets the value of the maxTraceDatagramSize property.
326     * 
327     * @param value
328     *     allowed object is
329     *     {@link BigInteger }
330     *     
331     */
332    public void setMaxTraceDatagramSize(BigInteger value) {
333        this.maxTraceDatagramSize = value;
334    }
335
336    /**
337     * Gets the value of the next property.
338     * 
339     * @return
340     *     possible object is
341     *     {@link String }
342     *     
343     */
344    public String getNext() {
345        return next;
346    }
347
348    /**
349     * Sets the value of the next property.
350     * 
351     * @param value
352     *     allowed object is
353     *     {@link String }
354     *     
355     */
356    public void setNext(String value) {
357        this.next = value;
358    }
359
360    /**
361     * Gets the value of the timeToLive property.
362     * 
363     * @return
364     *     possible object is
365     *     {@link BigInteger }
366     *     
367     */
368    public BigInteger getTimeToLive() {
369        return timeToLive;
370    }
371
372    /**
373     * Sets the value of the timeToLive property.
374     * 
375     * @param value
376     *     allowed object is
377     *     {@link BigInteger }
378     *     
379     */
380    public void setTimeToLive(BigInteger value) {
381        this.timeToLive = value;
382    }
383
384    /**
385     * Gets the value of the wireFormat property.
386     * 
387     * @return
388     *     possible object is
389     *     {@link String }
390     *     
391     */
392    public String getWireFormat() {
393        return wireFormat;
394    }
395
396    /**
397     * Sets the value of the wireFormat property.
398     * 
399     * @param value
400     *     allowed object is
401     *     {@link String }
402     *     
403     */
404    public void setWireFormat(String value) {
405        this.wireFormat = value;
406    }
407
408    /**
409     * Gets the value of the wireFormatFactory property.
410     * 
411     * @return
412     *     possible object is
413     *     {@link String }
414     *     
415     */
416    public String getWireFormatFactory() {
417        return wireFormatFactory;
418    }
419
420    /**
421     * Sets the value of the wireFormatFactory property.
422     * 
423     * @param value
424     *     allowed object is
425     *     {@link String }
426     *     
427     */
428    public void setWireFormatFactory(String value) {
429        this.wireFormatFactory = value;
430    }
431
432    /**
433     * Gets the value of the id property.
434     * 
435     * @return
436     *     possible object is
437     *     {@link String }
438     *     
439     */
440    public String getId() {
441        return id;
442    }
443
444    /**
445     * Sets the value of the id property.
446     * 
447     * @param value
448     *     allowed object is
449     *     {@link String }
450     *     
451     */
452    public void setId(String value) {
453        this.id = value;
454    }
455
456    /**
457     * Gets a map that contains attributes that aren't bound to any typed property on this class.
458     * 
459     * <p>
460     * the map is keyed by the name of the attribute and 
461     * the value is the string value of the attribute.
462     * 
463     * the map returned by this method is live, and you can add new attribute
464     * by updating the map directly. Because of this design, there's no setter.
465     * 
466     * 
467     * @return
468     *     always non-null
469     */
470    public Map<QName, String> getOtherAttributes() {
471        return otherAttributes;
472    }
473
474    public String toString() {
475        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
476        final StringBuilder buffer = new StringBuilder();
477        append(null, buffer, strategy);
478        return buffer.toString();
479    }
480
481    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
482        strategy.appendStart(locator, this, buffer);
483        appendFields(locator, buffer, strategy);
484        strategy.appendEnd(locator, this, buffer);
485        return buffer;
486    }
487
488    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
489        {
490            List<Object> theAddressOrAdminConnectionContextOrNext;
491            theAddressOrAdminConnectionContextOrNext = (((this.addressOrAdminConnectionContextOrNext!= null)&&(!this.addressOrAdminConnectionContextOrNext.isEmpty()))?this.getAddressOrAdminConnectionContextOrNext():null);
492            strategy.appendField(locator, this, "addressOrAdminConnectionContextOrNext", buffer, theAddressOrAdminConnectionContextOrNext);
493        }
494        {
495            String theAddress;
496            theAddress = this.getAddress();
497            strategy.appendField(locator, this, "address", buffer, theAddress);
498        }
499        {
500            String theAdminConnectionContext;
501            theAdminConnectionContext = this.getAdminConnectionContext();
502            strategy.appendField(locator, this, "adminConnectionContext", buffer, theAdminConnectionContext);
503        }
504        {
505            Boolean theBroadcast;
506            theBroadcast = this.isBroadcast();
507            strategy.appendField(locator, this, "broadcast", buffer, theBroadcast);
508        }
509        {
510            String theDestination;
511            theDestination = this.getDestination();
512            strategy.appendField(locator, this, "destination", buffer, theDestination);
513        }
514        {
515            BigInteger theMaxTraceDatagramSize;
516            theMaxTraceDatagramSize = this.getMaxTraceDatagramSize();
517            strategy.appendField(locator, this, "maxTraceDatagramSize", buffer, theMaxTraceDatagramSize);
518        }
519        {
520            String theNext;
521            theNext = this.getNext();
522            strategy.appendField(locator, this, "next", buffer, theNext);
523        }
524        {
525            BigInteger theTimeToLive;
526            theTimeToLive = this.getTimeToLive();
527            strategy.appendField(locator, this, "timeToLive", buffer, theTimeToLive);
528        }
529        {
530            String theWireFormat;
531            theWireFormat = this.getWireFormat();
532            strategy.appendField(locator, this, "wireFormat", buffer, theWireFormat);
533        }
534        {
535            String theWireFormatFactory;
536            theWireFormatFactory = this.getWireFormatFactory();
537            strategy.appendField(locator, this, "wireFormatFactory", buffer, theWireFormatFactory);
538        }
539        {
540            String theId;
541            theId = this.getId();
542            strategy.appendField(locator, this, "id", buffer, theId);
543        }
544        return buffer;
545    }
546
547    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
548        int currentHashCode = 1;
549        {
550            List<Object> theAddressOrAdminConnectionContextOrNext;
551            theAddressOrAdminConnectionContextOrNext = (((this.addressOrAdminConnectionContextOrNext!= null)&&(!this.addressOrAdminConnectionContextOrNext.isEmpty()))?this.getAddressOrAdminConnectionContextOrNext():null);
552            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "addressOrAdminConnectionContextOrNext", theAddressOrAdminConnectionContextOrNext), currentHashCode, theAddressOrAdminConnectionContextOrNext);
553        }
554        {
555            String theAddress;
556            theAddress = this.getAddress();
557            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "address", theAddress), currentHashCode, theAddress);
558        }
559        {
560            String theAdminConnectionContext;
561            theAdminConnectionContext = this.getAdminConnectionContext();
562            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "adminConnectionContext", theAdminConnectionContext), currentHashCode, theAdminConnectionContext);
563        }
564        {
565            Boolean theBroadcast;
566            theBroadcast = this.isBroadcast();
567            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "broadcast", theBroadcast), currentHashCode, theBroadcast);
568        }
569        {
570            String theDestination;
571            theDestination = this.getDestination();
572            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destination", theDestination), currentHashCode, theDestination);
573        }
574        {
575            BigInteger theMaxTraceDatagramSize;
576            theMaxTraceDatagramSize = this.getMaxTraceDatagramSize();
577            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maxTraceDatagramSize", theMaxTraceDatagramSize), currentHashCode, theMaxTraceDatagramSize);
578        }
579        {
580            String theNext;
581            theNext = this.getNext();
582            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "next", theNext), currentHashCode, theNext);
583        }
584        {
585            BigInteger theTimeToLive;
586            theTimeToLive = this.getTimeToLive();
587            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "timeToLive", theTimeToLive), currentHashCode, theTimeToLive);
588        }
589        {
590            String theWireFormat;
591            theWireFormat = this.getWireFormat();
592            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "wireFormat", theWireFormat), currentHashCode, theWireFormat);
593        }
594        {
595            String theWireFormatFactory;
596            theWireFormatFactory = this.getWireFormatFactory();
597            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "wireFormatFactory", theWireFormatFactory), currentHashCode, theWireFormatFactory);
598        }
599        {
600            String theId;
601            theId = this.getId();
602            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
603        }
604        return currentHashCode;
605    }
606
607    public int hashCode() {
608        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
609        return this.hashCode(null, strategy);
610    }
611
612    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
613        if (!(object instanceof DtoMulticastTraceBrokerPlugin)) {
614            return false;
615        }
616        if (this == object) {
617            return true;
618        }
619        final DtoMulticastTraceBrokerPlugin that = ((DtoMulticastTraceBrokerPlugin) object);
620        {
621            List<Object> lhsAddressOrAdminConnectionContextOrNext;
622            lhsAddressOrAdminConnectionContextOrNext = (((this.addressOrAdminConnectionContextOrNext!= null)&&(!this.addressOrAdminConnectionContextOrNext.isEmpty()))?this.getAddressOrAdminConnectionContextOrNext():null);
623            List<Object> rhsAddressOrAdminConnectionContextOrNext;
624            rhsAddressOrAdminConnectionContextOrNext = (((that.addressOrAdminConnectionContextOrNext!= null)&&(!that.addressOrAdminConnectionContextOrNext.isEmpty()))?that.getAddressOrAdminConnectionContextOrNext():null);
625            if (!strategy.equals(LocatorUtils.property(thisLocator, "addressOrAdminConnectionContextOrNext", lhsAddressOrAdminConnectionContextOrNext), LocatorUtils.property(thatLocator, "addressOrAdminConnectionContextOrNext", rhsAddressOrAdminConnectionContextOrNext), lhsAddressOrAdminConnectionContextOrNext, rhsAddressOrAdminConnectionContextOrNext)) {
626                return false;
627            }
628        }
629        {
630            String lhsAddress;
631            lhsAddress = this.getAddress();
632            String rhsAddress;
633            rhsAddress = that.getAddress();
634            if (!strategy.equals(LocatorUtils.property(thisLocator, "address", lhsAddress), LocatorUtils.property(thatLocator, "address", rhsAddress), lhsAddress, rhsAddress)) {
635                return false;
636            }
637        }
638        {
639            String lhsAdminConnectionContext;
640            lhsAdminConnectionContext = this.getAdminConnectionContext();
641            String rhsAdminConnectionContext;
642            rhsAdminConnectionContext = that.getAdminConnectionContext();
643            if (!strategy.equals(LocatorUtils.property(thisLocator, "adminConnectionContext", lhsAdminConnectionContext), LocatorUtils.property(thatLocator, "adminConnectionContext", rhsAdminConnectionContext), lhsAdminConnectionContext, rhsAdminConnectionContext)) {
644                return false;
645            }
646        }
647        {
648            Boolean lhsBroadcast;
649            lhsBroadcast = this.isBroadcast();
650            Boolean rhsBroadcast;
651            rhsBroadcast = that.isBroadcast();
652            if (!strategy.equals(LocatorUtils.property(thisLocator, "broadcast", lhsBroadcast), LocatorUtils.property(thatLocator, "broadcast", rhsBroadcast), lhsBroadcast, rhsBroadcast)) {
653                return false;
654            }
655        }
656        {
657            String lhsDestination;
658            lhsDestination = this.getDestination();
659            String rhsDestination;
660            rhsDestination = that.getDestination();
661            if (!strategy.equals(LocatorUtils.property(thisLocator, "destination", lhsDestination), LocatorUtils.property(thatLocator, "destination", rhsDestination), lhsDestination, rhsDestination)) {
662                return false;
663            }
664        }
665        {
666            BigInteger lhsMaxTraceDatagramSize;
667            lhsMaxTraceDatagramSize = this.getMaxTraceDatagramSize();
668            BigInteger rhsMaxTraceDatagramSize;
669            rhsMaxTraceDatagramSize = that.getMaxTraceDatagramSize();
670            if (!strategy.equals(LocatorUtils.property(thisLocator, "maxTraceDatagramSize", lhsMaxTraceDatagramSize), LocatorUtils.property(thatLocator, "maxTraceDatagramSize", rhsMaxTraceDatagramSize), lhsMaxTraceDatagramSize, rhsMaxTraceDatagramSize)) {
671                return false;
672            }
673        }
674        {
675            String lhsNext;
676            lhsNext = this.getNext();
677            String rhsNext;
678            rhsNext = that.getNext();
679            if (!strategy.equals(LocatorUtils.property(thisLocator, "next", lhsNext), LocatorUtils.property(thatLocator, "next", rhsNext), lhsNext, rhsNext)) {
680                return false;
681            }
682        }
683        {
684            BigInteger lhsTimeToLive;
685            lhsTimeToLive = this.getTimeToLive();
686            BigInteger rhsTimeToLive;
687            rhsTimeToLive = that.getTimeToLive();
688            if (!strategy.equals(LocatorUtils.property(thisLocator, "timeToLive", lhsTimeToLive), LocatorUtils.property(thatLocator, "timeToLive", rhsTimeToLive), lhsTimeToLive, rhsTimeToLive)) {
689                return false;
690            }
691        }
692        {
693            String lhsWireFormat;
694            lhsWireFormat = this.getWireFormat();
695            String rhsWireFormat;
696            rhsWireFormat = that.getWireFormat();
697            if (!strategy.equals(LocatorUtils.property(thisLocator, "wireFormat", lhsWireFormat), LocatorUtils.property(thatLocator, "wireFormat", rhsWireFormat), lhsWireFormat, rhsWireFormat)) {
698                return false;
699            }
700        }
701        {
702            String lhsWireFormatFactory;
703            lhsWireFormatFactory = this.getWireFormatFactory();
704            String rhsWireFormatFactory;
705            rhsWireFormatFactory = that.getWireFormatFactory();
706            if (!strategy.equals(LocatorUtils.property(thisLocator, "wireFormatFactory", lhsWireFormatFactory), LocatorUtils.property(thatLocator, "wireFormatFactory", rhsWireFormatFactory), lhsWireFormatFactory, rhsWireFormatFactory)) {
707                return false;
708            }
709        }
710        {
711            String lhsId;
712            lhsId = this.getId();
713            String rhsId;
714            rhsId = that.getId();
715            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
716                return false;
717            }
718        }
719        return true;
720    }
721
722    public boolean equals(Object object) {
723        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
724        return equals(null, null, object, strategy);
725    }
726
727
728    /**
729     * <p>Java class for anonymous complex type.
730     * 
731     * <p>The following schema fragment specifies the expected content contained within this class.
732     * 
733     * <pre>
734     * &lt;complexType>
735     *   &lt;complexContent>
736     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
737     *       &lt;sequence minOccurs="0">
738     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
739     *       &lt;/sequence>
740     *     &lt;/restriction>
741     *   &lt;/complexContent>
742     * &lt;/complexType>
743     * </pre>
744     * 
745     * 
746     */
747    @XmlAccessorType(XmlAccessType.FIELD)
748    @XmlType(name = "", propOrder = {
749        "any"
750    })
751    public static class Address
752        implements Equals, HashCode, ToString
753    {
754
755        @XmlAnyElement(lax = true)
756        protected List<Object> any;
757
758        /**
759         * Gets the value of the any property.
760         * 
761         * <p>
762         * This accessor method returns a reference to the live list,
763         * not a snapshot. Therefore any modification you make to the
764         * returned list will be present inside the JAXB object.
765         * This is why there is not a <CODE>set</CODE> method for the any property.
766         * 
767         * <p>
768         * For example, to add a new item, do as follows:
769         * <pre>
770         *    getAny().add(newItem);
771         * </pre>
772         * 
773         * 
774         * <p>
775         * Objects of the following type(s) are allowed in the list
776         * {@link Object }
777         * 
778         * 
779         */
780        public List<Object> getAny() {
781            if (any == null) {
782                any = new ArrayList<Object>();
783            }
784            return this.any;
785        }
786
787        public String toString() {
788            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
789            final StringBuilder buffer = new StringBuilder();
790            append(null, buffer, strategy);
791            return buffer.toString();
792        }
793
794        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
795            strategy.appendStart(locator, this, buffer);
796            appendFields(locator, buffer, strategy);
797            strategy.appendEnd(locator, this, buffer);
798            return buffer;
799        }
800
801        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
802            {
803                List<Object> theAny;
804                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
805                strategy.appendField(locator, this, "any", buffer, theAny);
806            }
807            return buffer;
808        }
809
810        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
811            int currentHashCode = 1;
812            {
813                List<Object> theAny;
814                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
815                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
816            }
817            return currentHashCode;
818        }
819
820        public int hashCode() {
821            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
822            return this.hashCode(null, strategy);
823        }
824
825        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
826            if (!(object instanceof DtoMulticastTraceBrokerPlugin.Address)) {
827                return false;
828            }
829            if (this == object) {
830                return true;
831            }
832            final DtoMulticastTraceBrokerPlugin.Address that = ((DtoMulticastTraceBrokerPlugin.Address) object);
833            {
834                List<Object> lhsAny;
835                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
836                List<Object> rhsAny;
837                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
838                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
839                    return false;
840                }
841            }
842            return true;
843        }
844
845        public boolean equals(Object object) {
846            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
847            return equals(null, null, object, strategy);
848        }
849
850    }
851
852
853    /**
854     * <p>Java class for anonymous complex type.
855     * 
856     * <p>The following schema fragment specifies the expected content contained within this class.
857     * 
858     * <pre>
859     * &lt;complexType>
860     *   &lt;complexContent>
861     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
862     *       &lt;sequence minOccurs="0">
863     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
864     *       &lt;/sequence>
865     *     &lt;/restriction>
866     *   &lt;/complexContent>
867     * &lt;/complexType>
868     * </pre>
869     * 
870     * 
871     */
872    @XmlAccessorType(XmlAccessType.FIELD)
873    @XmlType(name = "", propOrder = {
874        "any"
875    })
876    public static class AdminConnectionContext
877        implements Equals, HashCode, ToString
878    {
879
880        @XmlAnyElement(lax = true)
881        protected List<Object> any;
882
883        /**
884         * Gets the value of the any property.
885         * 
886         * <p>
887         * This accessor method returns a reference to the live list,
888         * not a snapshot. Therefore any modification you make to the
889         * returned list will be present inside the JAXB object.
890         * This is why there is not a <CODE>set</CODE> method for the any property.
891         * 
892         * <p>
893         * For example, to add a new item, do as follows:
894         * <pre>
895         *    getAny().add(newItem);
896         * </pre>
897         * 
898         * 
899         * <p>
900         * Objects of the following type(s) are allowed in the list
901         * {@link Object }
902         * 
903         * 
904         */
905        public List<Object> getAny() {
906            if (any == null) {
907                any = new ArrayList<Object>();
908            }
909            return this.any;
910        }
911
912        public String toString() {
913            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
914            final StringBuilder buffer = new StringBuilder();
915            append(null, buffer, strategy);
916            return buffer.toString();
917        }
918
919        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
920            strategy.appendStart(locator, this, buffer);
921            appendFields(locator, buffer, strategy);
922            strategy.appendEnd(locator, this, buffer);
923            return buffer;
924        }
925
926        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
927            {
928                List<Object> theAny;
929                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
930                strategy.appendField(locator, this, "any", buffer, theAny);
931            }
932            return buffer;
933        }
934
935        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
936            int currentHashCode = 1;
937            {
938                List<Object> theAny;
939                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
940                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
941            }
942            return currentHashCode;
943        }
944
945        public int hashCode() {
946            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
947            return this.hashCode(null, strategy);
948        }
949
950        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
951            if (!(object instanceof DtoMulticastTraceBrokerPlugin.AdminConnectionContext)) {
952                return false;
953            }
954            if (this == object) {
955                return true;
956            }
957            final DtoMulticastTraceBrokerPlugin.AdminConnectionContext that = ((DtoMulticastTraceBrokerPlugin.AdminConnectionContext) object);
958            {
959                List<Object> lhsAny;
960                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
961                List<Object> rhsAny;
962                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
963                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
964                    return false;
965                }
966            }
967            return true;
968        }
969
970        public boolean equals(Object object) {
971            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
972            return equals(null, null, object, strategy);
973        }
974
975    }
976
977
978    /**
979     * <p>Java class for anonymous complex type.
980     * 
981     * <p>The following schema fragment specifies the expected content contained within this class.
982     * 
983     * <pre>
984     * &lt;complexType>
985     *   &lt;complexContent>
986     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
987     *       &lt;choice minOccurs="0">
988     *         &lt;element ref="{http://activemq.apache.org/schema/core}destinationPathSeparatorPlugin"/>
989     *         &lt;element ref="{http://activemq.apache.org/schema/core}destinationsPlugin"/>
990     *         &lt;element ref="{http://activemq.apache.org/schema/core}forcePersistencyModeBroker"/>
991     *         &lt;element ref="{http://activemq.apache.org/schema/core}loggingBrokerPlugin"/>
992     *         &lt;element ref="{http://activemq.apache.org/schema/core}multicastTraceBrokerPlugin"/>
993     *         &lt;element ref="{http://activemq.apache.org/schema/core}redeliveryPlugin"/>
994     *         &lt;element ref="{http://activemq.apache.org/schema/core}timeStampingBrokerPlugin"/>
995     *         &lt;element ref="{http://activemq.apache.org/schema/core}traceBrokerPathPlugin"/>
996     *         &lt;element ref="{http://activemq.apache.org/schema/core}udpTraceBrokerPlugin"/>
997     *         &lt;any namespace='##other'/>
998     *       &lt;/choice>
999     *     &lt;/restriction>
1000     *   &lt;/complexContent>
1001     * &lt;/complexType>
1002     * </pre>
1003     * 
1004     * 
1005     */
1006    @XmlAccessorType(XmlAccessType.FIELD)
1007    @XmlType(name = "", propOrder = {
1008        "destinationPathSeparatorPlugin",
1009        "destinationsPlugin",
1010        "forcePersistencyModeBroker",
1011        "loggingBrokerPlugin",
1012        "multicastTraceBrokerPlugin",
1013        "redeliveryPlugin",
1014        "timeStampingBrokerPlugin",
1015        "traceBrokerPathPlugin",
1016        "udpTraceBrokerPlugin",
1017        "any"
1018    })
1019    public static class Next
1020        implements Equals, HashCode, ToString
1021    {
1022
1023        protected DtoDestinationPathSeparatorPlugin destinationPathSeparatorPlugin;
1024        protected DtoDestinationsPlugin destinationsPlugin;
1025        protected DtoForcePersistencyModeBroker forcePersistencyModeBroker;
1026        protected DtoLoggingBrokerPlugin loggingBrokerPlugin;
1027        protected DtoMulticastTraceBrokerPlugin multicastTraceBrokerPlugin;
1028        protected DtoRedeliveryPlugin redeliveryPlugin;
1029        protected DtoTimeStampingBrokerPlugin timeStampingBrokerPlugin;
1030        protected DtoTraceBrokerPathPlugin traceBrokerPathPlugin;
1031        protected DtoUdpTraceBrokerPlugin udpTraceBrokerPlugin;
1032        @XmlAnyElement(lax = true)
1033        protected Object any;
1034
1035        /**
1036         * Gets the value of the destinationPathSeparatorPlugin property.
1037         * 
1038         * @return
1039         *     possible object is
1040         *     {@link DtoDestinationPathSeparatorPlugin }
1041         *     
1042         */
1043        public DtoDestinationPathSeparatorPlugin getDestinationPathSeparatorPlugin() {
1044            return destinationPathSeparatorPlugin;
1045        }
1046
1047        /**
1048         * Sets the value of the destinationPathSeparatorPlugin property.
1049         * 
1050         * @param value
1051         *     allowed object is
1052         *     {@link DtoDestinationPathSeparatorPlugin }
1053         *     
1054         */
1055        public void setDestinationPathSeparatorPlugin(DtoDestinationPathSeparatorPlugin value) {
1056            this.destinationPathSeparatorPlugin = value;
1057        }
1058
1059        /**
1060         * Gets the value of the destinationsPlugin property.
1061         * 
1062         * @return
1063         *     possible object is
1064         *     {@link DtoDestinationsPlugin }
1065         *     
1066         */
1067        public DtoDestinationsPlugin getDestinationsPlugin() {
1068            return destinationsPlugin;
1069        }
1070
1071        /**
1072         * Sets the value of the destinationsPlugin property.
1073         * 
1074         * @param value
1075         *     allowed object is
1076         *     {@link DtoDestinationsPlugin }
1077         *     
1078         */
1079        public void setDestinationsPlugin(DtoDestinationsPlugin value) {
1080            this.destinationsPlugin = value;
1081        }
1082
1083        /**
1084         * Gets the value of the forcePersistencyModeBroker property.
1085         * 
1086         * @return
1087         *     possible object is
1088         *     {@link DtoForcePersistencyModeBroker }
1089         *     
1090         */
1091        public DtoForcePersistencyModeBroker getForcePersistencyModeBroker() {
1092            return forcePersistencyModeBroker;
1093        }
1094
1095        /**
1096         * Sets the value of the forcePersistencyModeBroker property.
1097         * 
1098         * @param value
1099         *     allowed object is
1100         *     {@link DtoForcePersistencyModeBroker }
1101         *     
1102         */
1103        public void setForcePersistencyModeBroker(DtoForcePersistencyModeBroker value) {
1104            this.forcePersistencyModeBroker = value;
1105        }
1106
1107        /**
1108         * Gets the value of the loggingBrokerPlugin property.
1109         * 
1110         * @return
1111         *     possible object is
1112         *     {@link DtoLoggingBrokerPlugin }
1113         *     
1114         */
1115        public DtoLoggingBrokerPlugin getLoggingBrokerPlugin() {
1116            return loggingBrokerPlugin;
1117        }
1118
1119        /**
1120         * Sets the value of the loggingBrokerPlugin property.
1121         * 
1122         * @param value
1123         *     allowed object is
1124         *     {@link DtoLoggingBrokerPlugin }
1125         *     
1126         */
1127        public void setLoggingBrokerPlugin(DtoLoggingBrokerPlugin value) {
1128            this.loggingBrokerPlugin = value;
1129        }
1130
1131        /**
1132         * Gets the value of the multicastTraceBrokerPlugin property.
1133         * 
1134         * @return
1135         *     possible object is
1136         *     {@link DtoMulticastTraceBrokerPlugin }
1137         *     
1138         */
1139        public DtoMulticastTraceBrokerPlugin getMulticastTraceBrokerPlugin() {
1140            return multicastTraceBrokerPlugin;
1141        }
1142
1143        /**
1144         * Sets the value of the multicastTraceBrokerPlugin property.
1145         * 
1146         * @param value
1147         *     allowed object is
1148         *     {@link DtoMulticastTraceBrokerPlugin }
1149         *     
1150         */
1151        public void setMulticastTraceBrokerPlugin(DtoMulticastTraceBrokerPlugin value) {
1152            this.multicastTraceBrokerPlugin = value;
1153        }
1154
1155        /**
1156         * Gets the value of the redeliveryPlugin property.
1157         * 
1158         * @return
1159         *     possible object is
1160         *     {@link DtoRedeliveryPlugin }
1161         *     
1162         */
1163        public DtoRedeliveryPlugin getRedeliveryPlugin() {
1164            return redeliveryPlugin;
1165        }
1166
1167        /**
1168         * Sets the value of the redeliveryPlugin property.
1169         * 
1170         * @param value
1171         *     allowed object is
1172         *     {@link DtoRedeliveryPlugin }
1173         *     
1174         */
1175        public void setRedeliveryPlugin(DtoRedeliveryPlugin value) {
1176            this.redeliveryPlugin = value;
1177        }
1178
1179        /**
1180         * Gets the value of the timeStampingBrokerPlugin property.
1181         * 
1182         * @return
1183         *     possible object is
1184         *     {@link DtoTimeStampingBrokerPlugin }
1185         *     
1186         */
1187        public DtoTimeStampingBrokerPlugin getTimeStampingBrokerPlugin() {
1188            return timeStampingBrokerPlugin;
1189        }
1190
1191        /**
1192         * Sets the value of the timeStampingBrokerPlugin property.
1193         * 
1194         * @param value
1195         *     allowed object is
1196         *     {@link DtoTimeStampingBrokerPlugin }
1197         *     
1198         */
1199        public void setTimeStampingBrokerPlugin(DtoTimeStampingBrokerPlugin value) {
1200            this.timeStampingBrokerPlugin = value;
1201        }
1202
1203        /**
1204         * Gets the value of the traceBrokerPathPlugin property.
1205         * 
1206         * @return
1207         *     possible object is
1208         *     {@link DtoTraceBrokerPathPlugin }
1209         *     
1210         */
1211        public DtoTraceBrokerPathPlugin getTraceBrokerPathPlugin() {
1212            return traceBrokerPathPlugin;
1213        }
1214
1215        /**
1216         * Sets the value of the traceBrokerPathPlugin property.
1217         * 
1218         * @param value
1219         *     allowed object is
1220         *     {@link DtoTraceBrokerPathPlugin }
1221         *     
1222         */
1223        public void setTraceBrokerPathPlugin(DtoTraceBrokerPathPlugin value) {
1224            this.traceBrokerPathPlugin = value;
1225        }
1226
1227        /**
1228         * Gets the value of the udpTraceBrokerPlugin property.
1229         * 
1230         * @return
1231         *     possible object is
1232         *     {@link DtoUdpTraceBrokerPlugin }
1233         *     
1234         */
1235        public DtoUdpTraceBrokerPlugin getUdpTraceBrokerPlugin() {
1236            return udpTraceBrokerPlugin;
1237        }
1238
1239        /**
1240         * Sets the value of the udpTraceBrokerPlugin property.
1241         * 
1242         * @param value
1243         *     allowed object is
1244         *     {@link DtoUdpTraceBrokerPlugin }
1245         *     
1246         */
1247        public void setUdpTraceBrokerPlugin(DtoUdpTraceBrokerPlugin value) {
1248            this.udpTraceBrokerPlugin = value;
1249        }
1250
1251        /**
1252         * Gets the value of the any property.
1253         * 
1254         * @return
1255         *     possible object is
1256         *     {@link Object }
1257         *     
1258         */
1259        public Object getAny() {
1260            return any;
1261        }
1262
1263        /**
1264         * Sets the value of the any property.
1265         * 
1266         * @param value
1267         *     allowed object is
1268         *     {@link Object }
1269         *     
1270         */
1271        public void setAny(Object value) {
1272            this.any = value;
1273        }
1274
1275        public String toString() {
1276            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1277            final StringBuilder buffer = new StringBuilder();
1278            append(null, buffer, strategy);
1279            return buffer.toString();
1280        }
1281
1282        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1283            strategy.appendStart(locator, this, buffer);
1284            appendFields(locator, buffer, strategy);
1285            strategy.appendEnd(locator, this, buffer);
1286            return buffer;
1287        }
1288
1289        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1290            {
1291                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
1292                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
1293                strategy.appendField(locator, this, "destinationPathSeparatorPlugin", buffer, theDestinationPathSeparatorPlugin);
1294            }
1295            {
1296                DtoDestinationsPlugin theDestinationsPlugin;
1297                theDestinationsPlugin = this.getDestinationsPlugin();
1298                strategy.appendField(locator, this, "destinationsPlugin", buffer, theDestinationsPlugin);
1299            }
1300            {
1301                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
1302                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
1303                strategy.appendField(locator, this, "forcePersistencyModeBroker", buffer, theForcePersistencyModeBroker);
1304            }
1305            {
1306                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
1307                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
1308                strategy.appendField(locator, this, "loggingBrokerPlugin", buffer, theLoggingBrokerPlugin);
1309            }
1310            {
1311                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
1312                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
1313                strategy.appendField(locator, this, "multicastTraceBrokerPlugin", buffer, theMulticastTraceBrokerPlugin);
1314            }
1315            {
1316                DtoRedeliveryPlugin theRedeliveryPlugin;
1317                theRedeliveryPlugin = this.getRedeliveryPlugin();
1318                strategy.appendField(locator, this, "redeliveryPlugin", buffer, theRedeliveryPlugin);
1319            }
1320            {
1321                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
1322                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
1323                strategy.appendField(locator, this, "timeStampingBrokerPlugin", buffer, theTimeStampingBrokerPlugin);
1324            }
1325            {
1326                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
1327                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
1328                strategy.appendField(locator, this, "traceBrokerPathPlugin", buffer, theTraceBrokerPathPlugin);
1329            }
1330            {
1331                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
1332                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
1333                strategy.appendField(locator, this, "udpTraceBrokerPlugin", buffer, theUdpTraceBrokerPlugin);
1334            }
1335            {
1336                Object theAny;
1337                theAny = this.getAny();
1338                strategy.appendField(locator, this, "any", buffer, theAny);
1339            }
1340            return buffer;
1341        }
1342
1343        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1344            int currentHashCode = 1;
1345            {
1346                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
1347                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
1348                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationPathSeparatorPlugin", theDestinationPathSeparatorPlugin), currentHashCode, theDestinationPathSeparatorPlugin);
1349            }
1350            {
1351                DtoDestinationsPlugin theDestinationsPlugin;
1352                theDestinationsPlugin = this.getDestinationsPlugin();
1353                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationsPlugin", theDestinationsPlugin), currentHashCode, theDestinationsPlugin);
1354            }
1355            {
1356                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
1357                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
1358                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "forcePersistencyModeBroker", theForcePersistencyModeBroker), currentHashCode, theForcePersistencyModeBroker);
1359            }
1360            {
1361                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
1362                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
1363                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "loggingBrokerPlugin", theLoggingBrokerPlugin), currentHashCode, theLoggingBrokerPlugin);
1364            }
1365            {
1366                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
1367                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
1368                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "multicastTraceBrokerPlugin", theMulticastTraceBrokerPlugin), currentHashCode, theMulticastTraceBrokerPlugin);
1369            }
1370            {
1371                DtoRedeliveryPlugin theRedeliveryPlugin;
1372                theRedeliveryPlugin = this.getRedeliveryPlugin();
1373                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "redeliveryPlugin", theRedeliveryPlugin), currentHashCode, theRedeliveryPlugin);
1374            }
1375            {
1376                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
1377                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
1378                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "timeStampingBrokerPlugin", theTimeStampingBrokerPlugin), currentHashCode, theTimeStampingBrokerPlugin);
1379            }
1380            {
1381                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
1382                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
1383                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "traceBrokerPathPlugin", theTraceBrokerPathPlugin), currentHashCode, theTraceBrokerPathPlugin);
1384            }
1385            {
1386                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
1387                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
1388                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "udpTraceBrokerPlugin", theUdpTraceBrokerPlugin), currentHashCode, theUdpTraceBrokerPlugin);
1389            }
1390            {
1391                Object theAny;
1392                theAny = this.getAny();
1393                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1394            }
1395            return currentHashCode;
1396        }
1397
1398        public int hashCode() {
1399            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1400            return this.hashCode(null, strategy);
1401        }
1402
1403        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1404            if (!(object instanceof DtoMulticastTraceBrokerPlugin.Next)) {
1405                return false;
1406            }
1407            if (this == object) {
1408                return true;
1409            }
1410            final DtoMulticastTraceBrokerPlugin.Next that = ((DtoMulticastTraceBrokerPlugin.Next) object);
1411            {
1412                DtoDestinationPathSeparatorPlugin lhsDestinationPathSeparatorPlugin;
1413                lhsDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
1414                DtoDestinationPathSeparatorPlugin rhsDestinationPathSeparatorPlugin;
1415                rhsDestinationPathSeparatorPlugin = that.getDestinationPathSeparatorPlugin();
1416                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationPathSeparatorPlugin", lhsDestinationPathSeparatorPlugin), LocatorUtils.property(thatLocator, "destinationPathSeparatorPlugin", rhsDestinationPathSeparatorPlugin), lhsDestinationPathSeparatorPlugin, rhsDestinationPathSeparatorPlugin)) {
1417                    return false;
1418                }
1419            }
1420            {
1421                DtoDestinationsPlugin lhsDestinationsPlugin;
1422                lhsDestinationsPlugin = this.getDestinationsPlugin();
1423                DtoDestinationsPlugin rhsDestinationsPlugin;
1424                rhsDestinationsPlugin = that.getDestinationsPlugin();
1425                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationsPlugin", lhsDestinationsPlugin), LocatorUtils.property(thatLocator, "destinationsPlugin", rhsDestinationsPlugin), lhsDestinationsPlugin, rhsDestinationsPlugin)) {
1426                    return false;
1427                }
1428            }
1429            {
1430                DtoForcePersistencyModeBroker lhsForcePersistencyModeBroker;
1431                lhsForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
1432                DtoForcePersistencyModeBroker rhsForcePersistencyModeBroker;
1433                rhsForcePersistencyModeBroker = that.getForcePersistencyModeBroker();
1434                if (!strategy.equals(LocatorUtils.property(thisLocator, "forcePersistencyModeBroker", lhsForcePersistencyModeBroker), LocatorUtils.property(thatLocator, "forcePersistencyModeBroker", rhsForcePersistencyModeBroker), lhsForcePersistencyModeBroker, rhsForcePersistencyModeBroker)) {
1435                    return false;
1436                }
1437            }
1438            {
1439                DtoLoggingBrokerPlugin lhsLoggingBrokerPlugin;
1440                lhsLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
1441                DtoLoggingBrokerPlugin rhsLoggingBrokerPlugin;
1442                rhsLoggingBrokerPlugin = that.getLoggingBrokerPlugin();
1443                if (!strategy.equals(LocatorUtils.property(thisLocator, "loggingBrokerPlugin", lhsLoggingBrokerPlugin), LocatorUtils.property(thatLocator, "loggingBrokerPlugin", rhsLoggingBrokerPlugin), lhsLoggingBrokerPlugin, rhsLoggingBrokerPlugin)) {
1444                    return false;
1445                }
1446            }
1447            {
1448                DtoMulticastTraceBrokerPlugin lhsMulticastTraceBrokerPlugin;
1449                lhsMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
1450                DtoMulticastTraceBrokerPlugin rhsMulticastTraceBrokerPlugin;
1451                rhsMulticastTraceBrokerPlugin = that.getMulticastTraceBrokerPlugin();
1452                if (!strategy.equals(LocatorUtils.property(thisLocator, "multicastTraceBrokerPlugin", lhsMulticastTraceBrokerPlugin), LocatorUtils.property(thatLocator, "multicastTraceBrokerPlugin", rhsMulticastTraceBrokerPlugin), lhsMulticastTraceBrokerPlugin, rhsMulticastTraceBrokerPlugin)) {
1453                    return false;
1454                }
1455            }
1456            {
1457                DtoRedeliveryPlugin lhsRedeliveryPlugin;
1458                lhsRedeliveryPlugin = this.getRedeliveryPlugin();
1459                DtoRedeliveryPlugin rhsRedeliveryPlugin;
1460                rhsRedeliveryPlugin = that.getRedeliveryPlugin();
1461                if (!strategy.equals(LocatorUtils.property(thisLocator, "redeliveryPlugin", lhsRedeliveryPlugin), LocatorUtils.property(thatLocator, "redeliveryPlugin", rhsRedeliveryPlugin), lhsRedeliveryPlugin, rhsRedeliveryPlugin)) {
1462                    return false;
1463                }
1464            }
1465            {
1466                DtoTimeStampingBrokerPlugin lhsTimeStampingBrokerPlugin;
1467                lhsTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
1468                DtoTimeStampingBrokerPlugin rhsTimeStampingBrokerPlugin;
1469                rhsTimeStampingBrokerPlugin = that.getTimeStampingBrokerPlugin();
1470                if (!strategy.equals(LocatorUtils.property(thisLocator, "timeStampingBrokerPlugin", lhsTimeStampingBrokerPlugin), LocatorUtils.property(thatLocator, "timeStampingBrokerPlugin", rhsTimeStampingBrokerPlugin), lhsTimeStampingBrokerPlugin, rhsTimeStampingBrokerPlugin)) {
1471                    return false;
1472                }
1473            }
1474            {
1475                DtoTraceBrokerPathPlugin lhsTraceBrokerPathPlugin;
1476                lhsTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
1477                DtoTraceBrokerPathPlugin rhsTraceBrokerPathPlugin;
1478                rhsTraceBrokerPathPlugin = that.getTraceBrokerPathPlugin();
1479                if (!strategy.equals(LocatorUtils.property(thisLocator, "traceBrokerPathPlugin", lhsTraceBrokerPathPlugin), LocatorUtils.property(thatLocator, "traceBrokerPathPlugin", rhsTraceBrokerPathPlugin), lhsTraceBrokerPathPlugin, rhsTraceBrokerPathPlugin)) {
1480                    return false;
1481                }
1482            }
1483            {
1484                DtoUdpTraceBrokerPlugin lhsUdpTraceBrokerPlugin;
1485                lhsUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
1486                DtoUdpTraceBrokerPlugin rhsUdpTraceBrokerPlugin;
1487                rhsUdpTraceBrokerPlugin = that.getUdpTraceBrokerPlugin();
1488                if (!strategy.equals(LocatorUtils.property(thisLocator, "udpTraceBrokerPlugin", lhsUdpTraceBrokerPlugin), LocatorUtils.property(thatLocator, "udpTraceBrokerPlugin", rhsUdpTraceBrokerPlugin), lhsUdpTraceBrokerPlugin, rhsUdpTraceBrokerPlugin)) {
1489                    return false;
1490                }
1491            }
1492            {
1493                Object lhsAny;
1494                lhsAny = this.getAny();
1495                Object rhsAny;
1496                rhsAny = that.getAny();
1497                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1498                    return false;
1499                }
1500            }
1501            return true;
1502        }
1503
1504        public boolean equals(Object object) {
1505            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1506            return equals(null, null, object, strategy);
1507        }
1508
1509    }
1510
1511
1512    /**
1513     * <p>Java class for anonymous complex type.
1514     * 
1515     * <p>The following schema fragment specifies the expected content contained within this class.
1516     * 
1517     * <pre>
1518     * &lt;complexType>
1519     *   &lt;complexContent>
1520     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1521     *       &lt;sequence minOccurs="0">
1522     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
1523     *       &lt;/sequence>
1524     *     &lt;/restriction>
1525     *   &lt;/complexContent>
1526     * &lt;/complexType>
1527     * </pre>
1528     * 
1529     * 
1530     */
1531    @XmlAccessorType(XmlAccessType.FIELD)
1532    @XmlType(name = "", propOrder = {
1533        "any"
1534    })
1535    public static class WireFormat
1536        implements Equals, HashCode, ToString
1537    {
1538
1539        @XmlAnyElement(lax = true)
1540        protected List<Object> any;
1541
1542        /**
1543         * Gets the value of the any property.
1544         * 
1545         * <p>
1546         * This accessor method returns a reference to the live list,
1547         * not a snapshot. Therefore any modification you make to the
1548         * returned list will be present inside the JAXB object.
1549         * This is why there is not a <CODE>set</CODE> method for the any property.
1550         * 
1551         * <p>
1552         * For example, to add a new item, do as follows:
1553         * <pre>
1554         *    getAny().add(newItem);
1555         * </pre>
1556         * 
1557         * 
1558         * <p>
1559         * Objects of the following type(s) are allowed in the list
1560         * {@link Object }
1561         * 
1562         * 
1563         */
1564        public List<Object> getAny() {
1565            if (any == null) {
1566                any = new ArrayList<Object>();
1567            }
1568            return this.any;
1569        }
1570
1571        public String toString() {
1572            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1573            final StringBuilder buffer = new StringBuilder();
1574            append(null, buffer, strategy);
1575            return buffer.toString();
1576        }
1577
1578        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1579            strategy.appendStart(locator, this, buffer);
1580            appendFields(locator, buffer, strategy);
1581            strategy.appendEnd(locator, this, buffer);
1582            return buffer;
1583        }
1584
1585        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1586            {
1587                List<Object> theAny;
1588                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1589                strategy.appendField(locator, this, "any", buffer, theAny);
1590            }
1591            return buffer;
1592        }
1593
1594        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1595            int currentHashCode = 1;
1596            {
1597                List<Object> theAny;
1598                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1599                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1600            }
1601            return currentHashCode;
1602        }
1603
1604        public int hashCode() {
1605            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1606            return this.hashCode(null, strategy);
1607        }
1608
1609        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1610            if (!(object instanceof DtoMulticastTraceBrokerPlugin.WireFormat)) {
1611                return false;
1612            }
1613            if (this == object) {
1614                return true;
1615            }
1616            final DtoMulticastTraceBrokerPlugin.WireFormat that = ((DtoMulticastTraceBrokerPlugin.WireFormat) object);
1617            {
1618                List<Object> lhsAny;
1619                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1620                List<Object> rhsAny;
1621                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
1622                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1623                    return false;
1624                }
1625            }
1626            return true;
1627        }
1628
1629        public boolean equals(Object object) {
1630            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1631            return equals(null, null, object, strategy);
1632        }
1633
1634    }
1635
1636
1637    /**
1638     * <p>Java class for anonymous complex type.
1639     * 
1640     * <p>The following schema fragment specifies the expected content contained within this class.
1641     * 
1642     * <pre>
1643     * &lt;complexType>
1644     *   &lt;complexContent>
1645     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1646     *       &lt;sequence minOccurs="0">
1647     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
1648     *       &lt;/sequence>
1649     *     &lt;/restriction>
1650     *   &lt;/complexContent>
1651     * &lt;/complexType>
1652     * </pre>
1653     * 
1654     * 
1655     */
1656    @XmlAccessorType(XmlAccessType.FIELD)
1657    @XmlType(name = "", propOrder = {
1658        "any"
1659    })
1660    public static class WireFormatFactory
1661        implements Equals, HashCode, ToString
1662    {
1663
1664        @XmlAnyElement(lax = true)
1665        protected List<Object> any;
1666
1667        /**
1668         * Gets the value of the any property.
1669         * 
1670         * <p>
1671         * This accessor method returns a reference to the live list,
1672         * not a snapshot. Therefore any modification you make to the
1673         * returned list will be present inside the JAXB object.
1674         * This is why there is not a <CODE>set</CODE> method for the any property.
1675         * 
1676         * <p>
1677         * For example, to add a new item, do as follows:
1678         * <pre>
1679         *    getAny().add(newItem);
1680         * </pre>
1681         * 
1682         * 
1683         * <p>
1684         * Objects of the following type(s) are allowed in the list
1685         * {@link Object }
1686         * 
1687         * 
1688         */
1689        public List<Object> getAny() {
1690            if (any == null) {
1691                any = new ArrayList<Object>();
1692            }
1693            return this.any;
1694        }
1695
1696        public String toString() {
1697            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1698            final StringBuilder buffer = new StringBuilder();
1699            append(null, buffer, strategy);
1700            return buffer.toString();
1701        }
1702
1703        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1704            strategy.appendStart(locator, this, buffer);
1705            appendFields(locator, buffer, strategy);
1706            strategy.appendEnd(locator, this, buffer);
1707            return buffer;
1708        }
1709
1710        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1711            {
1712                List<Object> theAny;
1713                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1714                strategy.appendField(locator, this, "any", buffer, theAny);
1715            }
1716            return buffer;
1717        }
1718
1719        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1720            int currentHashCode = 1;
1721            {
1722                List<Object> theAny;
1723                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1724                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1725            }
1726            return currentHashCode;
1727        }
1728
1729        public int hashCode() {
1730            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1731            return this.hashCode(null, strategy);
1732        }
1733
1734        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1735            if (!(object instanceof DtoMulticastTraceBrokerPlugin.WireFormatFactory)) {
1736                return false;
1737            }
1738            if (this == object) {
1739                return true;
1740            }
1741            final DtoMulticastTraceBrokerPlugin.WireFormatFactory that = ((DtoMulticastTraceBrokerPlugin.WireFormatFactory) object);
1742            {
1743                List<Object> lhsAny;
1744                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1745                List<Object> rhsAny;
1746                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
1747                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1748                    return false;
1749                }
1750            }
1751            return true;
1752        }
1753
1754        public boolean equals(Object object) {
1755            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1756            return equals(null, null, object, strategy);
1757        }
1758
1759    }
1760
1761}