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