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