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