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