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