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.math.BigInteger;
012import java.util.ArrayList;
013import java.util.HashMap;
014import java.util.List;
015import java.util.Map;
016import javax.xml.bind.JAXBElement;
017import javax.xml.bind.annotation.XmlAccessType;
018import javax.xml.bind.annotation.XmlAccessorType;
019import javax.xml.bind.annotation.XmlAnyAttribute;
020import javax.xml.bind.annotation.XmlAnyElement;
021import javax.xml.bind.annotation.XmlAttribute;
022import javax.xml.bind.annotation.XmlElementRef;
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="config" minOccurs="0">
054 *             &lt;complexType>
055 *               &lt;complexContent>
056 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
057 *                   &lt;sequence 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;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
065 *         &lt;/choice>
066 *       &lt;/choice>
067 *       &lt;attribute name="config" type="{http://www.w3.org/2001/XMLSchema}string" />
068 *       &lt;attribute name="configAsJson" type="{http://www.w3.org/2001/XMLSchema}string" />
069 *       &lt;attribute name="minTransferCount" type="{http://www.w3.org/2001/XMLSchema}integer" />
070 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
071 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
072 *     &lt;/restriction>
073 *   &lt;/complexContent>
074 * &lt;/complexType>
075 * </pre>
076 * 
077 * 
078 */
079@XmlAccessorType(XmlAccessType.FIELD)
080@XmlType(name = "", propOrder = {
081    "configOrAny"
082})
083@XmlRootElement(name = "partitionBrokerPlugin")
084public class DtoPartitionBrokerPlugin implements Equals, HashCode, ToString
085{
086
087    @XmlElementRef(name = "config", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
088    @XmlAnyElement(lax = true)
089    protected List<Object> configOrAny;
090    @XmlAttribute(name = "config")
091    protected String config;
092    @XmlAttribute(name = "configAsJson")
093    protected String configAsJson;
094    @XmlAttribute(name = "minTransferCount")
095    protected BigInteger minTransferCount;
096    @XmlAttribute(name = "id")
097    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
098    @XmlID
099    @XmlSchemaType(name = "ID")
100    protected String id;
101    @XmlAnyAttribute
102    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
103
104    /**
105     * Gets the value of the configOrAny property.
106     * 
107     * <p>
108     * This accessor method returns a reference to the live list,
109     * not a snapshot. Therefore any modification you make to the
110     * returned list will be present inside the JAXB object.
111     * This is why there is not a <CODE>set</CODE> method for the configOrAny property.
112     * 
113     * <p>
114     * For example, to add a new item, do as follows:
115     * <pre>
116     *    getConfigOrAny().add(newItem);
117     * </pre>
118     * 
119     * 
120     * <p>
121     * Objects of the following type(s) are allowed in the list
122     * {@link Object }
123     * {@link JAXBElement }{@code <}{@link DtoPartitionBrokerPlugin.Config }{@code >}
124     * 
125     * 
126     */
127    public List<Object> getConfigOrAny() {
128        if (configOrAny == null) {
129            configOrAny = new ArrayList<Object>();
130        }
131        return this.configOrAny;
132    }
133
134    /**
135     * Gets the value of the config property.
136     * 
137     * @return
138     *     possible object is
139     *     {@link String }
140     *     
141     */
142    public String getConfig() {
143        return config;
144    }
145
146    /**
147     * Sets the value of the config property.
148     * 
149     * @param value
150     *     allowed object is
151     *     {@link String }
152     *     
153     */
154    public void setConfig(String value) {
155        this.config = value;
156    }
157
158    /**
159     * Gets the value of the configAsJson property.
160     * 
161     * @return
162     *     possible object is
163     *     {@link String }
164     *     
165     */
166    public String getConfigAsJson() {
167        return configAsJson;
168    }
169
170    /**
171     * Sets the value of the configAsJson property.
172     * 
173     * @param value
174     *     allowed object is
175     *     {@link String }
176     *     
177     */
178    public void setConfigAsJson(String value) {
179        this.configAsJson = value;
180    }
181
182    /**
183     * Gets the value of the minTransferCount property.
184     * 
185     * @return
186     *     possible object is
187     *     {@link BigInteger }
188     *     
189     */
190    public BigInteger getMinTransferCount() {
191        return minTransferCount;
192    }
193
194    /**
195     * Sets the value of the minTransferCount property.
196     * 
197     * @param value
198     *     allowed object is
199     *     {@link BigInteger }
200     *     
201     */
202    public void setMinTransferCount(BigInteger value) {
203        this.minTransferCount = value;
204    }
205
206    /**
207     * Gets the value of the id property.
208     * 
209     * @return
210     *     possible object is
211     *     {@link String }
212     *     
213     */
214    public String getId() {
215        return id;
216    }
217
218    /**
219     * Sets the value of the id property.
220     * 
221     * @param value
222     *     allowed object is
223     *     {@link String }
224     *     
225     */
226    public void setId(String value) {
227        this.id = value;
228    }
229
230    /**
231     * Gets a map that contains attributes that aren't bound to any typed property on this class.
232     * 
233     * <p>
234     * the map is keyed by the name of the attribute and 
235     * the value is the string value of the attribute.
236     * 
237     * the map returned by this method is live, and you can add new attribute
238     * by updating the map directly. Because of this design, there's no setter.
239     * 
240     * 
241     * @return
242     *     always non-null
243     */
244    public Map<QName, String> getOtherAttributes() {
245        return otherAttributes;
246    }
247
248    public String toString() {
249        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
250        final StringBuilder buffer = new StringBuilder();
251        append(null, buffer, strategy);
252        return buffer.toString();
253    }
254
255    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
256        strategy.appendStart(locator, this, buffer);
257        appendFields(locator, buffer, strategy);
258        strategy.appendEnd(locator, this, buffer);
259        return buffer;
260    }
261
262    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
263        {
264            List<Object> theConfigOrAny;
265            theConfigOrAny = (((this.configOrAny!= null)&&(!this.configOrAny.isEmpty()))?this.getConfigOrAny():null);
266            strategy.appendField(locator, this, "configOrAny", buffer, theConfigOrAny);
267        }
268        {
269            String theConfig;
270            theConfig = this.getConfig();
271            strategy.appendField(locator, this, "config", buffer, theConfig);
272        }
273        {
274            String theConfigAsJson;
275            theConfigAsJson = this.getConfigAsJson();
276            strategy.appendField(locator, this, "configAsJson", buffer, theConfigAsJson);
277        }
278        {
279            BigInteger theMinTransferCount;
280            theMinTransferCount = this.getMinTransferCount();
281            strategy.appendField(locator, this, "minTransferCount", buffer, theMinTransferCount);
282        }
283        {
284            String theId;
285            theId = this.getId();
286            strategy.appendField(locator, this, "id", buffer, theId);
287        }
288        return buffer;
289    }
290
291    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
292        int currentHashCode = 1;
293        {
294            List<Object> theConfigOrAny;
295            theConfigOrAny = (((this.configOrAny!= null)&&(!this.configOrAny.isEmpty()))?this.getConfigOrAny():null);
296            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "configOrAny", theConfigOrAny), currentHashCode, theConfigOrAny);
297        }
298        {
299            String theConfig;
300            theConfig = this.getConfig();
301            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "config", theConfig), currentHashCode, theConfig);
302        }
303        {
304            String theConfigAsJson;
305            theConfigAsJson = this.getConfigAsJson();
306            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "configAsJson", theConfigAsJson), currentHashCode, theConfigAsJson);
307        }
308        {
309            BigInteger theMinTransferCount;
310            theMinTransferCount = this.getMinTransferCount();
311            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "minTransferCount", theMinTransferCount), currentHashCode, theMinTransferCount);
312        }
313        {
314            String theId;
315            theId = this.getId();
316            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
317        }
318        return currentHashCode;
319    }
320
321    public int hashCode() {
322        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
323        return this.hashCode(null, strategy);
324    }
325
326    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
327        if (!(object instanceof DtoPartitionBrokerPlugin)) {
328            return false;
329        }
330        if (this == object) {
331            return true;
332        }
333        final DtoPartitionBrokerPlugin that = ((DtoPartitionBrokerPlugin) object);
334        {
335            List<Object> lhsConfigOrAny;
336            lhsConfigOrAny = (((this.configOrAny!= null)&&(!this.configOrAny.isEmpty()))?this.getConfigOrAny():null);
337            List<Object> rhsConfigOrAny;
338            rhsConfigOrAny = (((that.configOrAny!= null)&&(!that.configOrAny.isEmpty()))?that.getConfigOrAny():null);
339            if (!strategy.equals(LocatorUtils.property(thisLocator, "configOrAny", lhsConfigOrAny), LocatorUtils.property(thatLocator, "configOrAny", rhsConfigOrAny), lhsConfigOrAny, rhsConfigOrAny)) {
340                return false;
341            }
342        }
343        {
344            String lhsConfig;
345            lhsConfig = this.getConfig();
346            String rhsConfig;
347            rhsConfig = that.getConfig();
348            if (!strategy.equals(LocatorUtils.property(thisLocator, "config", lhsConfig), LocatorUtils.property(thatLocator, "config", rhsConfig), lhsConfig, rhsConfig)) {
349                return false;
350            }
351        }
352        {
353            String lhsConfigAsJson;
354            lhsConfigAsJson = this.getConfigAsJson();
355            String rhsConfigAsJson;
356            rhsConfigAsJson = that.getConfigAsJson();
357            if (!strategy.equals(LocatorUtils.property(thisLocator, "configAsJson", lhsConfigAsJson), LocatorUtils.property(thatLocator, "configAsJson", rhsConfigAsJson), lhsConfigAsJson, rhsConfigAsJson)) {
358                return false;
359            }
360        }
361        {
362            BigInteger lhsMinTransferCount;
363            lhsMinTransferCount = this.getMinTransferCount();
364            BigInteger rhsMinTransferCount;
365            rhsMinTransferCount = that.getMinTransferCount();
366            if (!strategy.equals(LocatorUtils.property(thisLocator, "minTransferCount", lhsMinTransferCount), LocatorUtils.property(thatLocator, "minTransferCount", rhsMinTransferCount), lhsMinTransferCount, rhsMinTransferCount)) {
367                return false;
368            }
369        }
370        {
371            String lhsId;
372            lhsId = this.getId();
373            String rhsId;
374            rhsId = that.getId();
375            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
376                return false;
377            }
378        }
379        return true;
380    }
381
382    public boolean equals(Object object) {
383        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
384        return equals(null, null, object, strategy);
385    }
386
387
388    /**
389     * <p>Java class for anonymous complex type.
390     * 
391     * <p>The following schema fragment specifies the expected content contained within this class.
392     * 
393     * <pre>
394     * &lt;complexType>
395     *   &lt;complexContent>
396     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
397     *       &lt;sequence minOccurs="0">
398     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
399     *       &lt;/sequence>
400     *     &lt;/restriction>
401     *   &lt;/complexContent>
402     * &lt;/complexType>
403     * </pre>
404     * 
405     * 
406     */
407    @XmlAccessorType(XmlAccessType.FIELD)
408    @XmlType(name = "", propOrder = {
409        "any"
410    })
411    public static class Config
412        implements Equals, HashCode, ToString
413    {
414
415        @XmlAnyElement(lax = true)
416        protected List<Object> any;
417
418        /**
419         * Gets the value of the any property.
420         * 
421         * <p>
422         * This accessor method returns a reference to the live list,
423         * not a snapshot. Therefore any modification you make to the
424         * returned list will be present inside the JAXB object.
425         * This is why there is not a <CODE>set</CODE> method for the any property.
426         * 
427         * <p>
428         * For example, to add a new item, do as follows:
429         * <pre>
430         *    getAny().add(newItem);
431         * </pre>
432         * 
433         * 
434         * <p>
435         * Objects of the following type(s) are allowed in the list
436         * {@link Object }
437         * 
438         * 
439         */
440        public List<Object> getAny() {
441            if (any == null) {
442                any = new ArrayList<Object>();
443            }
444            return this.any;
445        }
446
447        public String toString() {
448            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
449            final StringBuilder buffer = new StringBuilder();
450            append(null, buffer, strategy);
451            return buffer.toString();
452        }
453
454        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
455            strategy.appendStart(locator, this, buffer);
456            appendFields(locator, buffer, strategy);
457            strategy.appendEnd(locator, this, buffer);
458            return buffer;
459        }
460
461        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
462            {
463                List<Object> theAny;
464                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
465                strategy.appendField(locator, this, "any", buffer, theAny);
466            }
467            return buffer;
468        }
469
470        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
471            int currentHashCode = 1;
472            {
473                List<Object> theAny;
474                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
475                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
476            }
477            return currentHashCode;
478        }
479
480        public int hashCode() {
481            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
482            return this.hashCode(null, strategy);
483        }
484
485        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
486            if (!(object instanceof DtoPartitionBrokerPlugin.Config)) {
487                return false;
488            }
489            if (this == object) {
490                return true;
491            }
492            final DtoPartitionBrokerPlugin.Config that = ((DtoPartitionBrokerPlugin.Config) object);
493            {
494                List<Object> lhsAny;
495                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
496                List<Object> rhsAny;
497                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
498                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
499                    return false;
500                }
501            }
502            return true;
503        }
504
505        public boolean equals(Object object) {
506            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
507            return equals(null, null, object, strategy);
508        }
509
510    }
511
512}