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