001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2019.03.15 at 09:00:08 AM EDT 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.util.ArrayList;
012import java.util.HashMap;
013import java.util.List;
014import java.util.Map;
015import javax.xml.bind.JAXBElement;
016import javax.xml.bind.annotation.XmlAccessType;
017import javax.xml.bind.annotation.XmlAccessorType;
018import javax.xml.bind.annotation.XmlAnyAttribute;
019import javax.xml.bind.annotation.XmlAnyElement;
020import javax.xml.bind.annotation.XmlAttribute;
021import javax.xml.bind.annotation.XmlElementRef;
022import javax.xml.bind.annotation.XmlElementRefs;
023import javax.xml.bind.annotation.XmlID;
024import javax.xml.bind.annotation.XmlRootElement;
025import javax.xml.bind.annotation.XmlSchemaType;
026import javax.xml.bind.annotation.XmlType;
027import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
028import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
029import javax.xml.namespace.QName;
030import org.jvnet.jaxb2_commons.lang.Equals;
031import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
032import org.jvnet.jaxb2_commons.lang.HashCode;
033import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
034import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
035import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
036import org.jvnet.jaxb2_commons.lang.ToString;
037import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
038import org.jvnet.jaxb2_commons.locator.ObjectLocator;
039import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
040
041
042/**
043 * <p>Java class for anonymous complex type.
044 * 
045 * <p>The following schema fragment specifies the expected content contained within this class.
046 * 
047 * <pre>
048 * &lt;complexType>
049 *   &lt;complexContent>
050 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
051 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
052 *         &lt;choice>
053 *           &lt;element name="compositeDestinations" maxOccurs="unbounded" minOccurs="0">
054 *             &lt;complexType>
055 *               &lt;complexContent>
056 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
057 *                   &lt;choice maxOccurs="unbounded" minOccurs="0">
058 *                     &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
059 *                     &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
060 *                     &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
061 *                     &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
062 *                     &lt;any namespace='##other'/>
063 *                   &lt;/choice>
064 *                 &lt;/restriction>
065 *               &lt;/complexContent>
066 *             &lt;/complexType>
067 *           &lt;/element>
068 *           &lt;element name="properties" minOccurs="0">
069 *             &lt;complexType>
070 *               &lt;complexContent>
071 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
072 *                   &lt;sequence minOccurs="0">
073 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
074 *                   &lt;/sequence>
075 *                 &lt;/restriction>
076 *               &lt;/complexContent>
077 *             &lt;/complexType>
078 *           &lt;/element>
079 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
080 *         &lt;/choice>
081 *       &lt;/choice>
082 *       &lt;attribute name="DLQ" type="{http://www.w3.org/2001/XMLSchema}boolean" />
083 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
084 *       &lt;attribute name="physicalName" type="{http://www.w3.org/2001/XMLSchema}string" />
085 *       &lt;attribute name="properties" type="{http://www.w3.org/2001/XMLSchema}string" />
086 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
087 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
088 *     &lt;/restriction>
089 *   &lt;/complexContent>
090 * &lt;/complexType>
091 * </pre>
092 * 
093 * 
094 */
095@XmlAccessorType(XmlAccessType.FIELD)
096@XmlType(name = "", propOrder = {
097    "contents"
098})
099@XmlRootElement(name = "topic")
100public class DtoTopic implements Equals, HashCode, ToString
101{
102
103    @XmlElementRefs({
104        @XmlElementRef(name = "compositeDestinations", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
105        @XmlElementRef(name = "properties", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
106    })
107    @XmlAnyElement(lax = true)
108    protected List<Object> contents;
109    @XmlAttribute(name = "DLQ")
110    protected Boolean dlq;
111    @XmlAttribute(name = "name")
112    protected String name;
113    @XmlAttribute(name = "physicalName")
114    protected String physicalName;
115    @XmlAttribute(name = "properties")
116    protected String properties;
117    @XmlAttribute(name = "id")
118    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
119    @XmlID
120    @XmlSchemaType(name = "ID")
121    protected String id;
122    @XmlAnyAttribute
123    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
124
125    /**
126     * Gets the value of the contents property.
127     * 
128     * <p>
129     * This accessor method returns a reference to the live list,
130     * not a snapshot. Therefore any modification you make to the
131     * returned list will be present inside the JAXB object.
132     * This is why there is not a <CODE>set</CODE> method for the contents property.
133     * 
134     * <p>
135     * For example, to add a new item, do as follows:
136     * <pre>
137     *    getContents().add(newItem);
138     * </pre>
139     * 
140     * 
141     * <p>
142     * Objects of the following type(s) are allowed in the list
143     * {@link JAXBElement }{@code <}{@link DtoTopic.CompositeDestinations }{@code >}
144     * {@link Object }
145     * {@link JAXBElement }{@code <}{@link DtoTopic.Properties }{@code >}
146     * 
147     * 
148     */
149    public List<Object> getContents() {
150        if (contents == null) {
151            contents = new ArrayList<Object>();
152        }
153        return this.contents;
154    }
155
156    /**
157     * Gets the value of the dlq property.
158     * 
159     * @return
160     *     possible object is
161     *     {@link Boolean }
162     *     
163     */
164    public Boolean isDLQ() {
165        return dlq;
166    }
167
168    /**
169     * Sets the value of the dlq property.
170     * 
171     * @param value
172     *     allowed object is
173     *     {@link Boolean }
174     *     
175     */
176    public void setDLQ(Boolean value) {
177        this.dlq = value;
178    }
179
180    /**
181     * Gets the value of the name property.
182     * 
183     * @return
184     *     possible object is
185     *     {@link String }
186     *     
187     */
188    public String getName() {
189        return name;
190    }
191
192    /**
193     * Sets the value of the name property.
194     * 
195     * @param value
196     *     allowed object is
197     *     {@link String }
198     *     
199     */
200    public void setName(String value) {
201        this.name = value;
202    }
203
204    /**
205     * Gets the value of the physicalName property.
206     * 
207     * @return
208     *     possible object is
209     *     {@link String }
210     *     
211     */
212    public String getPhysicalName() {
213        return physicalName;
214    }
215
216    /**
217     * Sets the value of the physicalName property.
218     * 
219     * @param value
220     *     allowed object is
221     *     {@link String }
222     *     
223     */
224    public void setPhysicalName(String value) {
225        this.physicalName = value;
226    }
227
228    /**
229     * Gets the value of the properties property.
230     * 
231     * @return
232     *     possible object is
233     *     {@link String }
234     *     
235     */
236    public String getProperties() {
237        return properties;
238    }
239
240    /**
241     * Sets the value of the properties property.
242     * 
243     * @param value
244     *     allowed object is
245     *     {@link String }
246     *     
247     */
248    public void setProperties(String value) {
249        this.properties = value;
250    }
251
252    /**
253     * Gets the value of the id property.
254     * 
255     * @return
256     *     possible object is
257     *     {@link String }
258     *     
259     */
260    public String getId() {
261        return id;
262    }
263
264    /**
265     * Sets the value of the id property.
266     * 
267     * @param value
268     *     allowed object is
269     *     {@link String }
270     *     
271     */
272    public void setId(String value) {
273        this.id = value;
274    }
275
276    /**
277     * Gets a map that contains attributes that aren't bound to any typed property on this class.
278     * 
279     * <p>
280     * the map is keyed by the name of the attribute and 
281     * the value is the string value of the attribute.
282     * 
283     * the map returned by this method is live, and you can add new attribute
284     * by updating the map directly. Because of this design, there's no setter.
285     * 
286     * 
287     * @return
288     *     always non-null
289     */
290    public Map<QName, String> getOtherAttributes() {
291        return otherAttributes;
292    }
293
294    public String toString() {
295        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
296        final StringBuilder buffer = new StringBuilder();
297        append(null, buffer, strategy);
298        return buffer.toString();
299    }
300
301    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
302        strategy.appendStart(locator, this, buffer);
303        appendFields(locator, buffer, strategy);
304        strategy.appendEnd(locator, this, buffer);
305        return buffer;
306    }
307
308    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
309        {
310            List<Object> theContents;
311            theContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
312            strategy.appendField(locator, this, "contents", buffer, theContents);
313        }
314        {
315            Boolean theDLQ;
316            theDLQ = this.isDLQ();
317            strategy.appendField(locator, this, "dlq", buffer, theDLQ);
318        }
319        {
320            String theName;
321            theName = this.getName();
322            strategy.appendField(locator, this, "name", buffer, theName);
323        }
324        {
325            String thePhysicalName;
326            thePhysicalName = this.getPhysicalName();
327            strategy.appendField(locator, this, "physicalName", buffer, thePhysicalName);
328        }
329        {
330            String theProperties;
331            theProperties = this.getProperties();
332            strategy.appendField(locator, this, "properties", buffer, theProperties);
333        }
334        {
335            String theId;
336            theId = this.getId();
337            strategy.appendField(locator, this, "id", buffer, theId);
338        }
339        return buffer;
340    }
341
342    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
343        int currentHashCode = 1;
344        {
345            List<Object> theContents;
346            theContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
347            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contents", theContents), currentHashCode, theContents);
348        }
349        {
350            Boolean theDLQ;
351            theDLQ = this.isDLQ();
352            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dlq", theDLQ), currentHashCode, theDLQ);
353        }
354        {
355            String theName;
356            theName = this.getName();
357            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName);
358        }
359        {
360            String thePhysicalName;
361            thePhysicalName = this.getPhysicalName();
362            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "physicalName", thePhysicalName), currentHashCode, thePhysicalName);
363        }
364        {
365            String theProperties;
366            theProperties = this.getProperties();
367            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "properties", theProperties), currentHashCode, theProperties);
368        }
369        {
370            String theId;
371            theId = this.getId();
372            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
373        }
374        return currentHashCode;
375    }
376
377    public int hashCode() {
378        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
379        return this.hashCode(null, strategy);
380    }
381
382    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
383        if (!(object instanceof DtoTopic)) {
384            return false;
385        }
386        if (this == object) {
387            return true;
388        }
389        final DtoTopic that = ((DtoTopic) object);
390        {
391            List<Object> lhsContents;
392            lhsContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
393            List<Object> rhsContents;
394            rhsContents = (((that.contents!= null)&&(!that.contents.isEmpty()))?that.getContents():null);
395            if (!strategy.equals(LocatorUtils.property(thisLocator, "contents", lhsContents), LocatorUtils.property(thatLocator, "contents", rhsContents), lhsContents, rhsContents)) {
396                return false;
397            }
398        }
399        {
400            Boolean lhsDLQ;
401            lhsDLQ = this.isDLQ();
402            Boolean rhsDLQ;
403            rhsDLQ = that.isDLQ();
404            if (!strategy.equals(LocatorUtils.property(thisLocator, "dlq", lhsDLQ), LocatorUtils.property(thatLocator, "dlq", rhsDLQ), lhsDLQ, rhsDLQ)) {
405                return false;
406            }
407        }
408        {
409            String lhsName;
410            lhsName = this.getName();
411            String rhsName;
412            rhsName = that.getName();
413            if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName)) {
414                return false;
415            }
416        }
417        {
418            String lhsPhysicalName;
419            lhsPhysicalName = this.getPhysicalName();
420            String rhsPhysicalName;
421            rhsPhysicalName = that.getPhysicalName();
422            if (!strategy.equals(LocatorUtils.property(thisLocator, "physicalName", lhsPhysicalName), LocatorUtils.property(thatLocator, "physicalName", rhsPhysicalName), lhsPhysicalName, rhsPhysicalName)) {
423                return false;
424            }
425        }
426        {
427            String lhsProperties;
428            lhsProperties = this.getProperties();
429            String rhsProperties;
430            rhsProperties = that.getProperties();
431            if (!strategy.equals(LocatorUtils.property(thisLocator, "properties", lhsProperties), LocatorUtils.property(thatLocator, "properties", rhsProperties), lhsProperties, rhsProperties)) {
432                return false;
433            }
434        }
435        {
436            String lhsId;
437            lhsId = this.getId();
438            String rhsId;
439            rhsId = that.getId();
440            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
441                return false;
442            }
443        }
444        return true;
445    }
446
447    public boolean equals(Object object) {
448        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
449        return equals(null, null, object, strategy);
450    }
451
452
453    /**
454     * <p>Java class for anonymous complex type.
455     * 
456     * <p>The following schema fragment specifies the expected content contained within this class.
457     * 
458     * <pre>
459     * &lt;complexType>
460     *   &lt;complexContent>
461     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
462     *       &lt;choice maxOccurs="unbounded" minOccurs="0">
463     *         &lt;element ref="{http://activemq.apache.org/schema/core}queue"/>
464     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempQueue"/>
465     *         &lt;element ref="{http://activemq.apache.org/schema/core}tempTopic"/>
466     *         &lt;element ref="{http://activemq.apache.org/schema/core}topic"/>
467     *         &lt;any namespace='##other'/>
468     *       &lt;/choice>
469     *     &lt;/restriction>
470     *   &lt;/complexContent>
471     * &lt;/complexType>
472     * </pre>
473     * 
474     * 
475     */
476    @XmlAccessorType(XmlAccessType.FIELD)
477    @XmlType(name = "", propOrder = {
478        "queueOrTempQueueOrTempTopic"
479    })
480    public static class CompositeDestinations
481        implements Equals, HashCode, ToString
482    {
483
484        @XmlElementRefs({
485            @XmlElementRef(name = "topic", namespace = "http://activemq.apache.org/schema/core", type = DtoTopic.class, required = false),
486            @XmlElementRef(name = "tempTopic", namespace = "http://activemq.apache.org/schema/core", type = DtoTempTopic.class, required = false),
487            @XmlElementRef(name = "queue", namespace = "http://activemq.apache.org/schema/core", type = DtoQueue.class, required = false),
488            @XmlElementRef(name = "tempQueue", namespace = "http://activemq.apache.org/schema/core", type = DtoTempQueue.class, required = false)
489        })
490        @XmlAnyElement(lax = true)
491        protected List<Object> queueOrTempQueueOrTempTopic;
492
493        /**
494         * Gets the value of the queueOrTempQueueOrTempTopic property.
495         * 
496         * <p>
497         * This accessor method returns a reference to the live list,
498         * not a snapshot. Therefore any modification you make to the
499         * returned list will be present inside the JAXB object.
500         * This is why there is not a <CODE>set</CODE> method for the queueOrTempQueueOrTempTopic property.
501         * 
502         * <p>
503         * For example, to add a new item, do as follows:
504         * <pre>
505         *    getQueueOrTempQueueOrTempTopic().add(newItem);
506         * </pre>
507         * 
508         * 
509         * <p>
510         * Objects of the following type(s) are allowed in the list
511         * {@link DtoTopic }
512         * {@link DtoTempTopic }
513         * {@link Object }
514         * {@link DtoQueue }
515         * {@link DtoTempQueue }
516         * 
517         * 
518         */
519        public List<Object> getQueueOrTempQueueOrTempTopic() {
520            if (queueOrTempQueueOrTempTopic == null) {
521                queueOrTempQueueOrTempTopic = new ArrayList<Object>();
522            }
523            return this.queueOrTempQueueOrTempTopic;
524        }
525
526        public String toString() {
527            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
528            final StringBuilder buffer = new StringBuilder();
529            append(null, buffer, strategy);
530            return buffer.toString();
531        }
532
533        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
534            strategy.appendStart(locator, this, buffer);
535            appendFields(locator, buffer, strategy);
536            strategy.appendEnd(locator, this, buffer);
537            return buffer;
538        }
539
540        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
541            {
542                List<Object> theQueueOrTempQueueOrTempTopic;
543                theQueueOrTempQueueOrTempTopic = (((this.queueOrTempQueueOrTempTopic!= null)&&(!this.queueOrTempQueueOrTempTopic.isEmpty()))?this.getQueueOrTempQueueOrTempTopic():null);
544                strategy.appendField(locator, this, "queueOrTempQueueOrTempTopic", buffer, theQueueOrTempQueueOrTempTopic);
545            }
546            return buffer;
547        }
548
549        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
550            int currentHashCode = 1;
551            {
552                List<Object> theQueueOrTempQueueOrTempTopic;
553                theQueueOrTempQueueOrTempTopic = (((this.queueOrTempQueueOrTempTopic!= null)&&(!this.queueOrTempQueueOrTempTopic.isEmpty()))?this.getQueueOrTempQueueOrTempTopic():null);
554                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queueOrTempQueueOrTempTopic", theQueueOrTempQueueOrTempTopic), currentHashCode, theQueueOrTempQueueOrTempTopic);
555            }
556            return currentHashCode;
557        }
558
559        public int hashCode() {
560            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
561            return this.hashCode(null, strategy);
562        }
563
564        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
565            if (!(object instanceof DtoTopic.CompositeDestinations)) {
566                return false;
567            }
568            if (this == object) {
569                return true;
570            }
571            final DtoTopic.CompositeDestinations that = ((DtoTopic.CompositeDestinations) object);
572            {
573                List<Object> lhsQueueOrTempQueueOrTempTopic;
574                lhsQueueOrTempQueueOrTempTopic = (((this.queueOrTempQueueOrTempTopic!= null)&&(!this.queueOrTempQueueOrTempTopic.isEmpty()))?this.getQueueOrTempQueueOrTempTopic():null);
575                List<Object> rhsQueueOrTempQueueOrTempTopic;
576                rhsQueueOrTempQueueOrTempTopic = (((that.queueOrTempQueueOrTempTopic!= null)&&(!that.queueOrTempQueueOrTempTopic.isEmpty()))?that.getQueueOrTempQueueOrTempTopic():null);
577                if (!strategy.equals(LocatorUtils.property(thisLocator, "queueOrTempQueueOrTempTopic", lhsQueueOrTempQueueOrTempTopic), LocatorUtils.property(thatLocator, "queueOrTempQueueOrTempTopic", rhsQueueOrTempQueueOrTempTopic), lhsQueueOrTempQueueOrTempTopic, rhsQueueOrTempQueueOrTempTopic)) {
578                    return false;
579                }
580            }
581            return true;
582        }
583
584        public boolean equals(Object object) {
585            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
586            return equals(null, null, object, strategy);
587        }
588
589    }
590
591
592    /**
593     * <p>Java class for anonymous complex type.
594     * 
595     * <p>The following schema fragment specifies the expected content contained within this class.
596     * 
597     * <pre>
598     * &lt;complexType>
599     *   &lt;complexContent>
600     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
601     *       &lt;sequence minOccurs="0">
602     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
603     *       &lt;/sequence>
604     *     &lt;/restriction>
605     *   &lt;/complexContent>
606     * &lt;/complexType>
607     * </pre>
608     * 
609     * 
610     */
611    @XmlAccessorType(XmlAccessType.FIELD)
612    @XmlType(name = "", propOrder = {
613        "any"
614    })
615    public static class Properties
616        implements Equals, HashCode, ToString
617    {
618
619        @XmlAnyElement(lax = true)
620        protected List<Object> any;
621
622        /**
623         * Gets the value of the any property.
624         * 
625         * <p>
626         * This accessor method returns a reference to the live list,
627         * not a snapshot. Therefore any modification you make to the
628         * returned list will be present inside the JAXB object.
629         * This is why there is not a <CODE>set</CODE> method for the any property.
630         * 
631         * <p>
632         * For example, to add a new item, do as follows:
633         * <pre>
634         *    getAny().add(newItem);
635         * </pre>
636         * 
637         * 
638         * <p>
639         * Objects of the following type(s) are allowed in the list
640         * {@link Object }
641         * 
642         * 
643         */
644        public List<Object> getAny() {
645            if (any == null) {
646                any = new ArrayList<Object>();
647            }
648            return this.any;
649        }
650
651        public String toString() {
652            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
653            final StringBuilder buffer = new StringBuilder();
654            append(null, buffer, strategy);
655            return buffer.toString();
656        }
657
658        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
659            strategy.appendStart(locator, this, buffer);
660            appendFields(locator, buffer, strategy);
661            strategy.appendEnd(locator, this, buffer);
662            return buffer;
663        }
664
665        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
666            {
667                List<Object> theAny;
668                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
669                strategy.appendField(locator, this, "any", buffer, theAny);
670            }
671            return buffer;
672        }
673
674        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
675            int currentHashCode = 1;
676            {
677                List<Object> theAny;
678                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
679                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
680            }
681            return currentHashCode;
682        }
683
684        public int hashCode() {
685            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
686            return this.hashCode(null, strategy);
687        }
688
689        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
690            if (!(object instanceof DtoTopic.Properties)) {
691                return false;
692            }
693            if (this == object) {
694                return true;
695            }
696            final DtoTopic.Properties that = ((DtoTopic.Properties) object);
697            {
698                List<Object> lhsAny;
699                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
700                List<Object> rhsAny;
701                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
702                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
703                    return false;
704                }
705            }
706            return true;
707        }
708
709        public boolean equals(Object object) {
710            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
711            return equals(null, null, object, strategy);
712        }
713
714    }
715
716}