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.12.02 at 07:37:45 AM EST 
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.XmlElementRefs;
024import javax.xml.bind.annotation.XmlID;
025import javax.xml.bind.annotation.XmlRootElement;
026import javax.xml.bind.annotation.XmlSchemaType;
027import javax.xml.bind.annotation.XmlType;
028import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
029import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
030import javax.xml.namespace.QName;
031import org.jvnet.jaxb2_commons.lang.Equals;
032import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
033import org.jvnet.jaxb2_commons.lang.HashCode;
034import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
035import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
036import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
037import org.jvnet.jaxb2_commons.lang.ToString;
038import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
039import org.jvnet.jaxb2_commons.locator.ObjectLocator;
040import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
041
042
043/**
044 * <p>Java class for anonymous complex type.
045 * 
046 * <p>The following schema fragment specifies the expected content contained within this class.
047 * 
048 * <pre>
049 * &lt;complexType>
050 *   &lt;complexContent>
051 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
052 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
053 *         &lt;choice>
054 *           &lt;element name="broker" minOccurs="0">
055 *             &lt;complexType>
056 *               &lt;complexContent>
057 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
058 *                   &lt;choice minOccurs="0">
059 *                     &lt;element ref="{http://activemq.apache.org/schema/core}destinationPathSeparatorPlugin"/>
060 *                     &lt;element ref="{http://activemq.apache.org/schema/core}destinationsPlugin"/>
061 *                     &lt;element ref="{http://activemq.apache.org/schema/core}forcePersistencyModeBroker"/>
062 *                     &lt;element ref="{http://activemq.apache.org/schema/core}loggingBrokerPlugin"/>
063 *                     &lt;element ref="{http://activemq.apache.org/schema/core}multicastTraceBrokerPlugin"/>
064 *                     &lt;element ref="{http://activemq.apache.org/schema/core}redeliveryPlugin"/>
065 *                     &lt;element ref="{http://activemq.apache.org/schema/core}timeStampingBrokerPlugin"/>
066 *                     &lt;element ref="{http://activemq.apache.org/schema/core}traceBrokerPathPlugin"/>
067 *                     &lt;element ref="{http://activemq.apache.org/schema/core}udpTraceBrokerPlugin"/>
068 *                     &lt;any namespace='##other'/>
069 *                   &lt;/choice>
070 *                 &lt;/restriction>
071 *               &lt;/complexContent>
072 *             &lt;/complexType>
073 *           &lt;/element>
074 *           &lt;element name="buffer" minOccurs="0">
075 *             &lt;complexType>
076 *               &lt;complexContent>
077 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
078 *                   &lt;sequence minOccurs="0">
079 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
080 *                   &lt;/sequence>
081 *                 &lt;/restriction>
082 *               &lt;/complexContent>
083 *             &lt;/complexType>
084 *           &lt;/element>
085 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
086 *         &lt;/choice>
087 *       &lt;/choice>
088 *       &lt;attribute name="broker" type="{http://www.w3.org/2001/XMLSchema}string" />
089 *       &lt;attribute name="buffer" type="{http://www.w3.org/2001/XMLSchema}string" />
090 *       &lt;attribute name="maximumSize" type="{http://www.w3.org/2001/XMLSchema}integer" />
091 *       &lt;attribute name="useSharedBuffer" type="{http://www.w3.org/2001/XMLSchema}boolean" />
092 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
093 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
094 *     &lt;/restriction>
095 *   &lt;/complexContent>
096 * &lt;/complexType>
097 * </pre>
098 * 
099 * 
100 */
101@XmlAccessorType(XmlAccessType.FIELD)
102@XmlType(name = "", propOrder = {
103    "brokerOrBufferOrAny"
104})
105@XmlRootElement(name = "fixedSizedSubscriptionRecoveryPolicy")
106public class DtoFixedSizedSubscriptionRecoveryPolicy
107    implements Equals, HashCode, ToString
108{
109
110    @XmlElementRefs({
111        @XmlElementRef(name = "broker", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
112        @XmlElementRef(name = "buffer", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
113    })
114    @XmlAnyElement(lax = true)
115    protected List<Object> brokerOrBufferOrAny;
116    @XmlAttribute(name = "broker")
117    protected String broker;
118    @XmlAttribute(name = "buffer")
119    protected String buffer;
120    @XmlAttribute(name = "maximumSize")
121    protected BigInteger maximumSize;
122    @XmlAttribute(name = "useSharedBuffer")
123    protected Boolean useSharedBuffer;
124    @XmlAttribute(name = "id")
125    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
126    @XmlID
127    @XmlSchemaType(name = "ID")
128    protected String id;
129    @XmlAnyAttribute
130    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
131
132    /**
133     * Gets the value of the brokerOrBufferOrAny property.
134     * 
135     * <p>
136     * This accessor method returns a reference to the live list,
137     * not a snapshot. Therefore any modification you make to the
138     * returned list will be present inside the JAXB object.
139     * This is why there is not a <CODE>set</CODE> method for the brokerOrBufferOrAny property.
140     * 
141     * <p>
142     * For example, to add a new item, do as follows:
143     * <pre>
144     *    getBrokerOrBufferOrAny().add(newItem);
145     * </pre>
146     * 
147     * 
148     * <p>
149     * Objects of the following type(s) are allowed in the list
150     * {@link JAXBElement }{@code <}{@link DtoFixedSizedSubscriptionRecoveryPolicy.Broker }{@code >}
151     * {@link Object }
152     * {@link JAXBElement }{@code <}{@link DtoFixedSizedSubscriptionRecoveryPolicy.Buffer }{@code >}
153     * 
154     * 
155     */
156    public List<Object> getBrokerOrBufferOrAny() {
157        if (brokerOrBufferOrAny == null) {
158            brokerOrBufferOrAny = new ArrayList<Object>();
159        }
160        return this.brokerOrBufferOrAny;
161    }
162
163    /**
164     * Gets the value of the broker property.
165     * 
166     * @return
167     *     possible object is
168     *     {@link String }
169     *     
170     */
171    public String getBroker() {
172        return broker;
173    }
174
175    /**
176     * Sets the value of the broker property.
177     * 
178     * @param value
179     *     allowed object is
180     *     {@link String }
181     *     
182     */
183    public void setBroker(String value) {
184        this.broker = value;
185    }
186
187    /**
188     * Gets the value of the buffer property.
189     * 
190     * @return
191     *     possible object is
192     *     {@link String }
193     *     
194     */
195    public String getBuffer() {
196        return buffer;
197    }
198
199    /**
200     * Sets the value of the buffer property.
201     * 
202     * @param value
203     *     allowed object is
204     *     {@link String }
205     *     
206     */
207    public void setBuffer(String value) {
208        this.buffer = value;
209    }
210
211    /**
212     * Gets the value of the maximumSize property.
213     * 
214     * @return
215     *     possible object is
216     *     {@link BigInteger }
217     *     
218     */
219    public BigInteger getMaximumSize() {
220        return maximumSize;
221    }
222
223    /**
224     * Sets the value of the maximumSize property.
225     * 
226     * @param value
227     *     allowed object is
228     *     {@link BigInteger }
229     *     
230     */
231    public void setMaximumSize(BigInteger value) {
232        this.maximumSize = value;
233    }
234
235    /**
236     * Gets the value of the useSharedBuffer property.
237     * 
238     * @return
239     *     possible object is
240     *     {@link Boolean }
241     *     
242     */
243    public Boolean isUseSharedBuffer() {
244        return useSharedBuffer;
245    }
246
247    /**
248     * Sets the value of the useSharedBuffer property.
249     * 
250     * @param value
251     *     allowed object is
252     *     {@link Boolean }
253     *     
254     */
255    public void setUseSharedBuffer(Boolean value) {
256        this.useSharedBuffer = value;
257    }
258
259    /**
260     * Gets the value of the id property.
261     * 
262     * @return
263     *     possible object is
264     *     {@link String }
265     *     
266     */
267    public String getId() {
268        return id;
269    }
270
271    /**
272     * Sets the value of the id property.
273     * 
274     * @param value
275     *     allowed object is
276     *     {@link String }
277     *     
278     */
279    public void setId(String value) {
280        this.id = value;
281    }
282
283    /**
284     * Gets a map that contains attributes that aren't bound to any typed property on this class.
285     * 
286     * <p>
287     * the map is keyed by the name of the attribute and 
288     * the value is the string value of the attribute.
289     * 
290     * the map returned by this method is live, and you can add new attribute
291     * by updating the map directly. Because of this design, there's no setter.
292     * 
293     * 
294     * @return
295     *     always non-null
296     */
297    public Map<QName, String> getOtherAttributes() {
298        return otherAttributes;
299    }
300
301    public String toString() {
302        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
303        final StringBuilder buffer = new StringBuilder();
304        append(null, buffer, strategy);
305        return buffer.toString();
306    }
307
308    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
309        strategy.appendStart(locator, this, buffer);
310        appendFields(locator, buffer, strategy);
311        strategy.appendEnd(locator, this, buffer);
312        return buffer;
313    }
314
315    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
316        {
317            List<Object> theBrokerOrBufferOrAny;
318            theBrokerOrBufferOrAny = (((this.brokerOrBufferOrAny!= null)&&(!this.brokerOrBufferOrAny.isEmpty()))?this.getBrokerOrBufferOrAny():null);
319            strategy.appendField(locator, this, "brokerOrBufferOrAny", buffer, theBrokerOrBufferOrAny);
320        }
321        {
322            String theBroker;
323            theBroker = this.getBroker();
324            strategy.appendField(locator, this, "broker", buffer, theBroker);
325        }
326        {
327            String theBuffer;
328            theBuffer = this.getBuffer();
329            strategy.appendField(locator, this, "buffer", buffer, theBuffer);
330        }
331        {
332            BigInteger theMaximumSize;
333            theMaximumSize = this.getMaximumSize();
334            strategy.appendField(locator, this, "maximumSize", buffer, theMaximumSize);
335        }
336        {
337            Boolean theUseSharedBuffer;
338            theUseSharedBuffer = this.isUseSharedBuffer();
339            strategy.appendField(locator, this, "useSharedBuffer", buffer, theUseSharedBuffer);
340        }
341        {
342            String theId;
343            theId = this.getId();
344            strategy.appendField(locator, this, "id", buffer, theId);
345        }
346        return buffer;
347    }
348
349    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
350        int currentHashCode = 1;
351        {
352            List<Object> theBrokerOrBufferOrAny;
353            theBrokerOrBufferOrAny = (((this.brokerOrBufferOrAny!= null)&&(!this.brokerOrBufferOrAny.isEmpty()))?this.getBrokerOrBufferOrAny():null);
354            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "brokerOrBufferOrAny", theBrokerOrBufferOrAny), currentHashCode, theBrokerOrBufferOrAny);
355        }
356        {
357            String theBroker;
358            theBroker = this.getBroker();
359            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "broker", theBroker), currentHashCode, theBroker);
360        }
361        {
362            String theBuffer;
363            theBuffer = this.getBuffer();
364            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "buffer", theBuffer), currentHashCode, theBuffer);
365        }
366        {
367            BigInteger theMaximumSize;
368            theMaximumSize = this.getMaximumSize();
369            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maximumSize", theMaximumSize), currentHashCode, theMaximumSize);
370        }
371        {
372            Boolean theUseSharedBuffer;
373            theUseSharedBuffer = this.isUseSharedBuffer();
374            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "useSharedBuffer", theUseSharedBuffer), currentHashCode, theUseSharedBuffer);
375        }
376        {
377            String theId;
378            theId = this.getId();
379            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
380        }
381        return currentHashCode;
382    }
383
384    public int hashCode() {
385        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
386        return this.hashCode(null, strategy);
387    }
388
389    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
390        if (!(object instanceof DtoFixedSizedSubscriptionRecoveryPolicy)) {
391            return false;
392        }
393        if (this == object) {
394            return true;
395        }
396        final DtoFixedSizedSubscriptionRecoveryPolicy that = ((DtoFixedSizedSubscriptionRecoveryPolicy) object);
397        {
398            List<Object> lhsBrokerOrBufferOrAny;
399            lhsBrokerOrBufferOrAny = (((this.brokerOrBufferOrAny!= null)&&(!this.brokerOrBufferOrAny.isEmpty()))?this.getBrokerOrBufferOrAny():null);
400            List<Object> rhsBrokerOrBufferOrAny;
401            rhsBrokerOrBufferOrAny = (((that.brokerOrBufferOrAny!= null)&&(!that.brokerOrBufferOrAny.isEmpty()))?that.getBrokerOrBufferOrAny():null);
402            if (!strategy.equals(LocatorUtils.property(thisLocator, "brokerOrBufferOrAny", lhsBrokerOrBufferOrAny), LocatorUtils.property(thatLocator, "brokerOrBufferOrAny", rhsBrokerOrBufferOrAny), lhsBrokerOrBufferOrAny, rhsBrokerOrBufferOrAny)) {
403                return false;
404            }
405        }
406        {
407            String lhsBroker;
408            lhsBroker = this.getBroker();
409            String rhsBroker;
410            rhsBroker = that.getBroker();
411            if (!strategy.equals(LocatorUtils.property(thisLocator, "broker", lhsBroker), LocatorUtils.property(thatLocator, "broker", rhsBroker), lhsBroker, rhsBroker)) {
412                return false;
413            }
414        }
415        {
416            String lhsBuffer;
417            lhsBuffer = this.getBuffer();
418            String rhsBuffer;
419            rhsBuffer = that.getBuffer();
420            if (!strategy.equals(LocatorUtils.property(thisLocator, "buffer", lhsBuffer), LocatorUtils.property(thatLocator, "buffer", rhsBuffer), lhsBuffer, rhsBuffer)) {
421                return false;
422            }
423        }
424        {
425            BigInteger lhsMaximumSize;
426            lhsMaximumSize = this.getMaximumSize();
427            BigInteger rhsMaximumSize;
428            rhsMaximumSize = that.getMaximumSize();
429            if (!strategy.equals(LocatorUtils.property(thisLocator, "maximumSize", lhsMaximumSize), LocatorUtils.property(thatLocator, "maximumSize", rhsMaximumSize), lhsMaximumSize, rhsMaximumSize)) {
430                return false;
431            }
432        }
433        {
434            Boolean lhsUseSharedBuffer;
435            lhsUseSharedBuffer = this.isUseSharedBuffer();
436            Boolean rhsUseSharedBuffer;
437            rhsUseSharedBuffer = that.isUseSharedBuffer();
438            if (!strategy.equals(LocatorUtils.property(thisLocator, "useSharedBuffer", lhsUseSharedBuffer), LocatorUtils.property(thatLocator, "useSharedBuffer", rhsUseSharedBuffer), lhsUseSharedBuffer, rhsUseSharedBuffer)) {
439                return false;
440            }
441        }
442        {
443            String lhsId;
444            lhsId = this.getId();
445            String rhsId;
446            rhsId = that.getId();
447            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
448                return false;
449            }
450        }
451        return true;
452    }
453
454    public boolean equals(Object object) {
455        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
456        return equals(null, null, object, strategy);
457    }
458
459
460    /**
461     * <p>Java class for anonymous complex type.
462     * 
463     * <p>The following schema fragment specifies the expected content contained within this class.
464     * 
465     * <pre>
466     * &lt;complexType>
467     *   &lt;complexContent>
468     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
469     *       &lt;choice minOccurs="0">
470     *         &lt;element ref="{http://activemq.apache.org/schema/core}destinationPathSeparatorPlugin"/>
471     *         &lt;element ref="{http://activemq.apache.org/schema/core}destinationsPlugin"/>
472     *         &lt;element ref="{http://activemq.apache.org/schema/core}forcePersistencyModeBroker"/>
473     *         &lt;element ref="{http://activemq.apache.org/schema/core}loggingBrokerPlugin"/>
474     *         &lt;element ref="{http://activemq.apache.org/schema/core}multicastTraceBrokerPlugin"/>
475     *         &lt;element ref="{http://activemq.apache.org/schema/core}redeliveryPlugin"/>
476     *         &lt;element ref="{http://activemq.apache.org/schema/core}timeStampingBrokerPlugin"/>
477     *         &lt;element ref="{http://activemq.apache.org/schema/core}traceBrokerPathPlugin"/>
478     *         &lt;element ref="{http://activemq.apache.org/schema/core}udpTraceBrokerPlugin"/>
479     *         &lt;any namespace='##other'/>
480     *       &lt;/choice>
481     *     &lt;/restriction>
482     *   &lt;/complexContent>
483     * &lt;/complexType>
484     * </pre>
485     * 
486     * 
487     */
488    @XmlAccessorType(XmlAccessType.FIELD)
489    @XmlType(name = "", propOrder = {
490        "destinationPathSeparatorPlugin",
491        "destinationsPlugin",
492        "forcePersistencyModeBroker",
493        "loggingBrokerPlugin",
494        "multicastTraceBrokerPlugin",
495        "redeliveryPlugin",
496        "timeStampingBrokerPlugin",
497        "traceBrokerPathPlugin",
498        "udpTraceBrokerPlugin",
499        "any"
500    })
501    public static class Broker
502        implements Equals, HashCode, ToString
503    {
504
505        protected DtoDestinationPathSeparatorPlugin destinationPathSeparatorPlugin;
506        protected DtoDestinationsPlugin destinationsPlugin;
507        protected DtoForcePersistencyModeBroker forcePersistencyModeBroker;
508        protected DtoLoggingBrokerPlugin loggingBrokerPlugin;
509        protected DtoMulticastTraceBrokerPlugin multicastTraceBrokerPlugin;
510        protected DtoRedeliveryPlugin redeliveryPlugin;
511        protected DtoTimeStampingBrokerPlugin timeStampingBrokerPlugin;
512        protected DtoTraceBrokerPathPlugin traceBrokerPathPlugin;
513        protected DtoUdpTraceBrokerPlugin udpTraceBrokerPlugin;
514        @XmlAnyElement(lax = true)
515        protected Object any;
516
517        /**
518         * Gets the value of the destinationPathSeparatorPlugin property.
519         * 
520         * @return
521         *     possible object is
522         *     {@link DtoDestinationPathSeparatorPlugin }
523         *     
524         */
525        public DtoDestinationPathSeparatorPlugin getDestinationPathSeparatorPlugin() {
526            return destinationPathSeparatorPlugin;
527        }
528
529        /**
530         * Sets the value of the destinationPathSeparatorPlugin property.
531         * 
532         * @param value
533         *     allowed object is
534         *     {@link DtoDestinationPathSeparatorPlugin }
535         *     
536         */
537        public void setDestinationPathSeparatorPlugin(DtoDestinationPathSeparatorPlugin value) {
538            this.destinationPathSeparatorPlugin = value;
539        }
540
541        /**
542         * Gets the value of the destinationsPlugin property.
543         * 
544         * @return
545         *     possible object is
546         *     {@link DtoDestinationsPlugin }
547         *     
548         */
549        public DtoDestinationsPlugin getDestinationsPlugin() {
550            return destinationsPlugin;
551        }
552
553        /**
554         * Sets the value of the destinationsPlugin property.
555         * 
556         * @param value
557         *     allowed object is
558         *     {@link DtoDestinationsPlugin }
559         *     
560         */
561        public void setDestinationsPlugin(DtoDestinationsPlugin value) {
562            this.destinationsPlugin = value;
563        }
564
565        /**
566         * Gets the value of the forcePersistencyModeBroker property.
567         * 
568         * @return
569         *     possible object is
570         *     {@link DtoForcePersistencyModeBroker }
571         *     
572         */
573        public DtoForcePersistencyModeBroker getForcePersistencyModeBroker() {
574            return forcePersistencyModeBroker;
575        }
576
577        /**
578         * Sets the value of the forcePersistencyModeBroker property.
579         * 
580         * @param value
581         *     allowed object is
582         *     {@link DtoForcePersistencyModeBroker }
583         *     
584         */
585        public void setForcePersistencyModeBroker(DtoForcePersistencyModeBroker value) {
586            this.forcePersistencyModeBroker = value;
587        }
588
589        /**
590         * Gets the value of the loggingBrokerPlugin property.
591         * 
592         * @return
593         *     possible object is
594         *     {@link DtoLoggingBrokerPlugin }
595         *     
596         */
597        public DtoLoggingBrokerPlugin getLoggingBrokerPlugin() {
598            return loggingBrokerPlugin;
599        }
600
601        /**
602         * Sets the value of the loggingBrokerPlugin property.
603         * 
604         * @param value
605         *     allowed object is
606         *     {@link DtoLoggingBrokerPlugin }
607         *     
608         */
609        public void setLoggingBrokerPlugin(DtoLoggingBrokerPlugin value) {
610            this.loggingBrokerPlugin = value;
611        }
612
613        /**
614         * Gets the value of the multicastTraceBrokerPlugin property.
615         * 
616         * @return
617         *     possible object is
618         *     {@link DtoMulticastTraceBrokerPlugin }
619         *     
620         */
621        public DtoMulticastTraceBrokerPlugin getMulticastTraceBrokerPlugin() {
622            return multicastTraceBrokerPlugin;
623        }
624
625        /**
626         * Sets the value of the multicastTraceBrokerPlugin property.
627         * 
628         * @param value
629         *     allowed object is
630         *     {@link DtoMulticastTraceBrokerPlugin }
631         *     
632         */
633        public void setMulticastTraceBrokerPlugin(DtoMulticastTraceBrokerPlugin value) {
634            this.multicastTraceBrokerPlugin = value;
635        }
636
637        /**
638         * Gets the value of the redeliveryPlugin property.
639         * 
640         * @return
641         *     possible object is
642         *     {@link DtoRedeliveryPlugin }
643         *     
644         */
645        public DtoRedeliveryPlugin getRedeliveryPlugin() {
646            return redeliveryPlugin;
647        }
648
649        /**
650         * Sets the value of the redeliveryPlugin property.
651         * 
652         * @param value
653         *     allowed object is
654         *     {@link DtoRedeliveryPlugin }
655         *     
656         */
657        public void setRedeliveryPlugin(DtoRedeliveryPlugin value) {
658            this.redeliveryPlugin = value;
659        }
660
661        /**
662         * Gets the value of the timeStampingBrokerPlugin property.
663         * 
664         * @return
665         *     possible object is
666         *     {@link DtoTimeStampingBrokerPlugin }
667         *     
668         */
669        public DtoTimeStampingBrokerPlugin getTimeStampingBrokerPlugin() {
670            return timeStampingBrokerPlugin;
671        }
672
673        /**
674         * Sets the value of the timeStampingBrokerPlugin property.
675         * 
676         * @param value
677         *     allowed object is
678         *     {@link DtoTimeStampingBrokerPlugin }
679         *     
680         */
681        public void setTimeStampingBrokerPlugin(DtoTimeStampingBrokerPlugin value) {
682            this.timeStampingBrokerPlugin = value;
683        }
684
685        /**
686         * Gets the value of the traceBrokerPathPlugin property.
687         * 
688         * @return
689         *     possible object is
690         *     {@link DtoTraceBrokerPathPlugin }
691         *     
692         */
693        public DtoTraceBrokerPathPlugin getTraceBrokerPathPlugin() {
694            return traceBrokerPathPlugin;
695        }
696
697        /**
698         * Sets the value of the traceBrokerPathPlugin property.
699         * 
700         * @param value
701         *     allowed object is
702         *     {@link DtoTraceBrokerPathPlugin }
703         *     
704         */
705        public void setTraceBrokerPathPlugin(DtoTraceBrokerPathPlugin value) {
706            this.traceBrokerPathPlugin = value;
707        }
708
709        /**
710         * Gets the value of the udpTraceBrokerPlugin property.
711         * 
712         * @return
713         *     possible object is
714         *     {@link DtoUdpTraceBrokerPlugin }
715         *     
716         */
717        public DtoUdpTraceBrokerPlugin getUdpTraceBrokerPlugin() {
718            return udpTraceBrokerPlugin;
719        }
720
721        /**
722         * Sets the value of the udpTraceBrokerPlugin property.
723         * 
724         * @param value
725         *     allowed object is
726         *     {@link DtoUdpTraceBrokerPlugin }
727         *     
728         */
729        public void setUdpTraceBrokerPlugin(DtoUdpTraceBrokerPlugin value) {
730            this.udpTraceBrokerPlugin = value;
731        }
732
733        /**
734         * Gets the value of the any property.
735         * 
736         * @return
737         *     possible object is
738         *     {@link Object }
739         *     
740         */
741        public Object getAny() {
742            return any;
743        }
744
745        /**
746         * Sets the value of the any property.
747         * 
748         * @param value
749         *     allowed object is
750         *     {@link Object }
751         *     
752         */
753        public void setAny(Object value) {
754            this.any = value;
755        }
756
757        public String toString() {
758            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
759            final StringBuilder buffer = new StringBuilder();
760            append(null, buffer, strategy);
761            return buffer.toString();
762        }
763
764        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
765            strategy.appendStart(locator, this, buffer);
766            appendFields(locator, buffer, strategy);
767            strategy.appendEnd(locator, this, buffer);
768            return buffer;
769        }
770
771        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
772            {
773                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
774                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
775                strategy.appendField(locator, this, "destinationPathSeparatorPlugin", buffer, theDestinationPathSeparatorPlugin);
776            }
777            {
778                DtoDestinationsPlugin theDestinationsPlugin;
779                theDestinationsPlugin = this.getDestinationsPlugin();
780                strategy.appendField(locator, this, "destinationsPlugin", buffer, theDestinationsPlugin);
781            }
782            {
783                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
784                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
785                strategy.appendField(locator, this, "forcePersistencyModeBroker", buffer, theForcePersistencyModeBroker);
786            }
787            {
788                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
789                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
790                strategy.appendField(locator, this, "loggingBrokerPlugin", buffer, theLoggingBrokerPlugin);
791            }
792            {
793                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
794                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
795                strategy.appendField(locator, this, "multicastTraceBrokerPlugin", buffer, theMulticastTraceBrokerPlugin);
796            }
797            {
798                DtoRedeliveryPlugin theRedeliveryPlugin;
799                theRedeliveryPlugin = this.getRedeliveryPlugin();
800                strategy.appendField(locator, this, "redeliveryPlugin", buffer, theRedeliveryPlugin);
801            }
802            {
803                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
804                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
805                strategy.appendField(locator, this, "timeStampingBrokerPlugin", buffer, theTimeStampingBrokerPlugin);
806            }
807            {
808                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
809                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
810                strategy.appendField(locator, this, "traceBrokerPathPlugin", buffer, theTraceBrokerPathPlugin);
811            }
812            {
813                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
814                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
815                strategy.appendField(locator, this, "udpTraceBrokerPlugin", buffer, theUdpTraceBrokerPlugin);
816            }
817            {
818                Object theAny;
819                theAny = this.getAny();
820                strategy.appendField(locator, this, "any", buffer, theAny);
821            }
822            return buffer;
823        }
824
825        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
826            int currentHashCode = 1;
827            {
828                DtoDestinationPathSeparatorPlugin theDestinationPathSeparatorPlugin;
829                theDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
830                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationPathSeparatorPlugin", theDestinationPathSeparatorPlugin), currentHashCode, theDestinationPathSeparatorPlugin);
831            }
832            {
833                DtoDestinationsPlugin theDestinationsPlugin;
834                theDestinationsPlugin = this.getDestinationsPlugin();
835                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "destinationsPlugin", theDestinationsPlugin), currentHashCode, theDestinationsPlugin);
836            }
837            {
838                DtoForcePersistencyModeBroker theForcePersistencyModeBroker;
839                theForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
840                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "forcePersistencyModeBroker", theForcePersistencyModeBroker), currentHashCode, theForcePersistencyModeBroker);
841            }
842            {
843                DtoLoggingBrokerPlugin theLoggingBrokerPlugin;
844                theLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
845                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "loggingBrokerPlugin", theLoggingBrokerPlugin), currentHashCode, theLoggingBrokerPlugin);
846            }
847            {
848                DtoMulticastTraceBrokerPlugin theMulticastTraceBrokerPlugin;
849                theMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
850                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "multicastTraceBrokerPlugin", theMulticastTraceBrokerPlugin), currentHashCode, theMulticastTraceBrokerPlugin);
851            }
852            {
853                DtoRedeliveryPlugin theRedeliveryPlugin;
854                theRedeliveryPlugin = this.getRedeliveryPlugin();
855                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "redeliveryPlugin", theRedeliveryPlugin), currentHashCode, theRedeliveryPlugin);
856            }
857            {
858                DtoTimeStampingBrokerPlugin theTimeStampingBrokerPlugin;
859                theTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
860                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "timeStampingBrokerPlugin", theTimeStampingBrokerPlugin), currentHashCode, theTimeStampingBrokerPlugin);
861            }
862            {
863                DtoTraceBrokerPathPlugin theTraceBrokerPathPlugin;
864                theTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
865                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "traceBrokerPathPlugin", theTraceBrokerPathPlugin), currentHashCode, theTraceBrokerPathPlugin);
866            }
867            {
868                DtoUdpTraceBrokerPlugin theUdpTraceBrokerPlugin;
869                theUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
870                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "udpTraceBrokerPlugin", theUdpTraceBrokerPlugin), currentHashCode, theUdpTraceBrokerPlugin);
871            }
872            {
873                Object theAny;
874                theAny = this.getAny();
875                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
876            }
877            return currentHashCode;
878        }
879
880        public int hashCode() {
881            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
882            return this.hashCode(null, strategy);
883        }
884
885        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
886            if (!(object instanceof DtoFixedSizedSubscriptionRecoveryPolicy.Broker)) {
887                return false;
888            }
889            if (this == object) {
890                return true;
891            }
892            final DtoFixedSizedSubscriptionRecoveryPolicy.Broker that = ((DtoFixedSizedSubscriptionRecoveryPolicy.Broker) object);
893            {
894                DtoDestinationPathSeparatorPlugin lhsDestinationPathSeparatorPlugin;
895                lhsDestinationPathSeparatorPlugin = this.getDestinationPathSeparatorPlugin();
896                DtoDestinationPathSeparatorPlugin rhsDestinationPathSeparatorPlugin;
897                rhsDestinationPathSeparatorPlugin = that.getDestinationPathSeparatorPlugin();
898                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationPathSeparatorPlugin", lhsDestinationPathSeparatorPlugin), LocatorUtils.property(thatLocator, "destinationPathSeparatorPlugin", rhsDestinationPathSeparatorPlugin), lhsDestinationPathSeparatorPlugin, rhsDestinationPathSeparatorPlugin)) {
899                    return false;
900                }
901            }
902            {
903                DtoDestinationsPlugin lhsDestinationsPlugin;
904                lhsDestinationsPlugin = this.getDestinationsPlugin();
905                DtoDestinationsPlugin rhsDestinationsPlugin;
906                rhsDestinationsPlugin = that.getDestinationsPlugin();
907                if (!strategy.equals(LocatorUtils.property(thisLocator, "destinationsPlugin", lhsDestinationsPlugin), LocatorUtils.property(thatLocator, "destinationsPlugin", rhsDestinationsPlugin), lhsDestinationsPlugin, rhsDestinationsPlugin)) {
908                    return false;
909                }
910            }
911            {
912                DtoForcePersistencyModeBroker lhsForcePersistencyModeBroker;
913                lhsForcePersistencyModeBroker = this.getForcePersistencyModeBroker();
914                DtoForcePersistencyModeBroker rhsForcePersistencyModeBroker;
915                rhsForcePersistencyModeBroker = that.getForcePersistencyModeBroker();
916                if (!strategy.equals(LocatorUtils.property(thisLocator, "forcePersistencyModeBroker", lhsForcePersistencyModeBroker), LocatorUtils.property(thatLocator, "forcePersistencyModeBroker", rhsForcePersistencyModeBroker), lhsForcePersistencyModeBroker, rhsForcePersistencyModeBroker)) {
917                    return false;
918                }
919            }
920            {
921                DtoLoggingBrokerPlugin lhsLoggingBrokerPlugin;
922                lhsLoggingBrokerPlugin = this.getLoggingBrokerPlugin();
923                DtoLoggingBrokerPlugin rhsLoggingBrokerPlugin;
924                rhsLoggingBrokerPlugin = that.getLoggingBrokerPlugin();
925                if (!strategy.equals(LocatorUtils.property(thisLocator, "loggingBrokerPlugin", lhsLoggingBrokerPlugin), LocatorUtils.property(thatLocator, "loggingBrokerPlugin", rhsLoggingBrokerPlugin), lhsLoggingBrokerPlugin, rhsLoggingBrokerPlugin)) {
926                    return false;
927                }
928            }
929            {
930                DtoMulticastTraceBrokerPlugin lhsMulticastTraceBrokerPlugin;
931                lhsMulticastTraceBrokerPlugin = this.getMulticastTraceBrokerPlugin();
932                DtoMulticastTraceBrokerPlugin rhsMulticastTraceBrokerPlugin;
933                rhsMulticastTraceBrokerPlugin = that.getMulticastTraceBrokerPlugin();
934                if (!strategy.equals(LocatorUtils.property(thisLocator, "multicastTraceBrokerPlugin", lhsMulticastTraceBrokerPlugin), LocatorUtils.property(thatLocator, "multicastTraceBrokerPlugin", rhsMulticastTraceBrokerPlugin), lhsMulticastTraceBrokerPlugin, rhsMulticastTraceBrokerPlugin)) {
935                    return false;
936                }
937            }
938            {
939                DtoRedeliveryPlugin lhsRedeliveryPlugin;
940                lhsRedeliveryPlugin = this.getRedeliveryPlugin();
941                DtoRedeliveryPlugin rhsRedeliveryPlugin;
942                rhsRedeliveryPlugin = that.getRedeliveryPlugin();
943                if (!strategy.equals(LocatorUtils.property(thisLocator, "redeliveryPlugin", lhsRedeliveryPlugin), LocatorUtils.property(thatLocator, "redeliveryPlugin", rhsRedeliveryPlugin), lhsRedeliveryPlugin, rhsRedeliveryPlugin)) {
944                    return false;
945                }
946            }
947            {
948                DtoTimeStampingBrokerPlugin lhsTimeStampingBrokerPlugin;
949                lhsTimeStampingBrokerPlugin = this.getTimeStampingBrokerPlugin();
950                DtoTimeStampingBrokerPlugin rhsTimeStampingBrokerPlugin;
951                rhsTimeStampingBrokerPlugin = that.getTimeStampingBrokerPlugin();
952                if (!strategy.equals(LocatorUtils.property(thisLocator, "timeStampingBrokerPlugin", lhsTimeStampingBrokerPlugin), LocatorUtils.property(thatLocator, "timeStampingBrokerPlugin", rhsTimeStampingBrokerPlugin), lhsTimeStampingBrokerPlugin, rhsTimeStampingBrokerPlugin)) {
953                    return false;
954                }
955            }
956            {
957                DtoTraceBrokerPathPlugin lhsTraceBrokerPathPlugin;
958                lhsTraceBrokerPathPlugin = this.getTraceBrokerPathPlugin();
959                DtoTraceBrokerPathPlugin rhsTraceBrokerPathPlugin;
960                rhsTraceBrokerPathPlugin = that.getTraceBrokerPathPlugin();
961                if (!strategy.equals(LocatorUtils.property(thisLocator, "traceBrokerPathPlugin", lhsTraceBrokerPathPlugin), LocatorUtils.property(thatLocator, "traceBrokerPathPlugin", rhsTraceBrokerPathPlugin), lhsTraceBrokerPathPlugin, rhsTraceBrokerPathPlugin)) {
962                    return false;
963                }
964            }
965            {
966                DtoUdpTraceBrokerPlugin lhsUdpTraceBrokerPlugin;
967                lhsUdpTraceBrokerPlugin = this.getUdpTraceBrokerPlugin();
968                DtoUdpTraceBrokerPlugin rhsUdpTraceBrokerPlugin;
969                rhsUdpTraceBrokerPlugin = that.getUdpTraceBrokerPlugin();
970                if (!strategy.equals(LocatorUtils.property(thisLocator, "udpTraceBrokerPlugin", lhsUdpTraceBrokerPlugin), LocatorUtils.property(thatLocator, "udpTraceBrokerPlugin", rhsUdpTraceBrokerPlugin), lhsUdpTraceBrokerPlugin, rhsUdpTraceBrokerPlugin)) {
971                    return false;
972                }
973            }
974            {
975                Object lhsAny;
976                lhsAny = this.getAny();
977                Object rhsAny;
978                rhsAny = that.getAny();
979                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
980                    return false;
981                }
982            }
983            return true;
984        }
985
986        public boolean equals(Object object) {
987            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
988            return equals(null, null, object, strategy);
989        }
990
991    }
992
993
994    /**
995     * <p>Java class for anonymous complex type.
996     * 
997     * <p>The following schema fragment specifies the expected content contained within this class.
998     * 
999     * <pre>
1000     * &lt;complexType>
1001     *   &lt;complexContent>
1002     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1003     *       &lt;sequence minOccurs="0">
1004     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
1005     *       &lt;/sequence>
1006     *     &lt;/restriction>
1007     *   &lt;/complexContent>
1008     * &lt;/complexType>
1009     * </pre>
1010     * 
1011     * 
1012     */
1013    @XmlAccessorType(XmlAccessType.FIELD)
1014    @XmlType(name = "", propOrder = {
1015        "any"
1016    })
1017    public static class Buffer
1018        implements Equals, HashCode, ToString
1019    {
1020
1021        @XmlAnyElement(lax = true)
1022        protected List<Object> any;
1023
1024        /**
1025         * Gets the value of the any property.
1026         * 
1027         * <p>
1028         * This accessor method returns a reference to the live list,
1029         * not a snapshot. Therefore any modification you make to the
1030         * returned list will be present inside the JAXB object.
1031         * This is why there is not a <CODE>set</CODE> method for the any property.
1032         * 
1033         * <p>
1034         * For example, to add a new item, do as follows:
1035         * <pre>
1036         *    getAny().add(newItem);
1037         * </pre>
1038         * 
1039         * 
1040         * <p>
1041         * Objects of the following type(s) are allowed in the list
1042         * {@link Object }
1043         * 
1044         * 
1045         */
1046        public List<Object> getAny() {
1047            if (any == null) {
1048                any = new ArrayList<Object>();
1049            }
1050            return this.any;
1051        }
1052
1053        public String toString() {
1054            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1055            final StringBuilder buffer = new StringBuilder();
1056            append(null, buffer, strategy);
1057            return buffer.toString();
1058        }
1059
1060        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1061            strategy.appendStart(locator, this, buffer);
1062            appendFields(locator, buffer, strategy);
1063            strategy.appendEnd(locator, this, buffer);
1064            return buffer;
1065        }
1066
1067        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1068            {
1069                List<Object> theAny;
1070                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1071                strategy.appendField(locator, this, "any", buffer, theAny);
1072            }
1073            return buffer;
1074        }
1075
1076        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1077            int currentHashCode = 1;
1078            {
1079                List<Object> theAny;
1080                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1081                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1082            }
1083            return currentHashCode;
1084        }
1085
1086        public int hashCode() {
1087            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1088            return this.hashCode(null, strategy);
1089        }
1090
1091        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1092            if (!(object instanceof DtoFixedSizedSubscriptionRecoveryPolicy.Buffer)) {
1093                return false;
1094            }
1095            if (this == object) {
1096                return true;
1097            }
1098            final DtoFixedSizedSubscriptionRecoveryPolicy.Buffer that = ((DtoFixedSizedSubscriptionRecoveryPolicy.Buffer) object);
1099            {
1100                List<Object> lhsAny;
1101                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1102                List<Object> rhsAny;
1103                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
1104                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1105                    return false;
1106                }
1107            }
1108            return true;
1109        }
1110
1111        public boolean equals(Object object) {
1112            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1113            return equals(null, null, object, strategy);
1114        }
1115
1116    }
1117
1118}