001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2019.03.15 at 09:00:08 AM EDT 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.math.BigInteger;
012import java.util.ArrayList;
013import java.util.HashMap;
014import java.util.List;
015import java.util.Map;
016import javax.xml.bind.JAXBElement;
017import javax.xml.bind.annotation.XmlAccessType;
018import javax.xml.bind.annotation.XmlAccessorType;
019import javax.xml.bind.annotation.XmlAnyAttribute;
020import javax.xml.bind.annotation.XmlAnyElement;
021import javax.xml.bind.annotation.XmlAttribute;
022import javax.xml.bind.annotation.XmlElementRef;
023import javax.xml.bind.annotation.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="executor" minOccurs="0">
055 *             &lt;complexType>
056 *               &lt;complexContent>
057 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
058 *                   &lt;sequence minOccurs="0">
059 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
060 *                   &lt;/sequence>
061 *                 &lt;/restriction>
062 *               &lt;/complexContent>
063 *             &lt;/complexType>
064 *           &lt;/element>
065 *           &lt;element name="limiter" minOccurs="0">
066 *             &lt;complexType>
067 *               &lt;complexContent>
068 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
069 *                   &lt;choice minOccurs="0">
070 *                     &lt;element ref="{http://activemq.apache.org/schema/core}defaultUsageCapacity"/>
071 *                     &lt;element ref="{http://activemq.apache.org/schema/core}usageCapacity"/>
072 *                     &lt;any namespace='##other'/>
073 *                   &lt;/choice>
074 *                 &lt;/restriction>
075 *               &lt;/complexContent>
076 *             &lt;/complexType>
077 *           &lt;/element>
078 *           &lt;element name="parent" minOccurs="0">
079 *             &lt;complexType>
080 *               &lt;complexContent>
081 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
082 *                   &lt;sequence minOccurs="0">
083 *                     &lt;any maxOccurs="unbounded" minOccurs="0"/>
084 *                   &lt;/sequence>
085 *                 &lt;/restriction>
086 *               &lt;/complexContent>
087 *             &lt;/complexType>
088 *           &lt;/element>
089 *           &lt;element name="store" minOccurs="0">
090 *             &lt;complexType>
091 *               &lt;complexContent>
092 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
093 *                   &lt;choice minOccurs="0">
094 *                     &lt;element ref="{http://activemq.apache.org/schema/core}jdbcPersistenceAdapter"/>
095 *                     &lt;element ref="{http://activemq.apache.org/schema/core}journalPersistenceAdapter"/>
096 *                     &lt;element ref="{http://activemq.apache.org/schema/core}kahaDB"/>
097 *                     &lt;element ref="{http://activemq.apache.org/schema/core}levelDB"/>
098 *                     &lt;element ref="{http://activemq.apache.org/schema/core}mKahaDB"/>
099 *                     &lt;element ref="{http://activemq.apache.org/schema/core}memoryPersistenceAdapter"/>
100 *                     &lt;element ref="{http://activemq.apache.org/schema/core}replicatedLevelDB"/>
101 *                     &lt;any namespace='##other'/>
102 *                   &lt;/choice>
103 *                 &lt;/restriction>
104 *               &lt;/complexContent>
105 *             &lt;/complexType>
106 *           &lt;/element>
107 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
108 *         &lt;/choice>
109 *       &lt;/choice>
110 *       &lt;attribute name="executor" type="{http://www.w3.org/2001/XMLSchema}string" />
111 *       &lt;attribute name="limit" type="{http://www.w3.org/2001/XMLSchema}string" />
112 *       &lt;attribute name="limiter" type="{http://www.w3.org/2001/XMLSchema}string" />
113 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
114 *       &lt;attribute name="parent" type="{http://www.w3.org/2001/XMLSchema}string" />
115 *       &lt;attribute name="percentLimit" type="{http://www.w3.org/2001/XMLSchema}integer" />
116 *       &lt;attribute name="percentUsage" type="{http://www.w3.org/2001/XMLSchema}integer" />
117 *       &lt;attribute name="percentUsageMinDelta" type="{http://www.w3.org/2001/XMLSchema}string" />
118 *       &lt;attribute name="pollingTime" type="{http://www.w3.org/2001/XMLSchema}integer" />
119 *       &lt;attribute name="store" type="{http://www.w3.org/2001/XMLSchema}string" />
120 *       &lt;attribute name="total" type="{http://www.w3.org/2001/XMLSchema}string" />
121 *       &lt;attribute name="usagePortion" type="{http://www.w3.org/2001/XMLSchema}float" />
122 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
123 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
124 *     &lt;/restriction>
125 *   &lt;/complexContent>
126 * &lt;/complexType>
127 * </pre>
128 * 
129 * 
130 */
131@XmlAccessorType(XmlAccessType.FIELD)
132@XmlType(name = "", propOrder = {
133    "executorOrLimiterOrParent"
134})
135@XmlRootElement(name = "storeUsage")
136public class DtoStoreUsage implements Equals, HashCode, ToString
137{
138
139    @XmlElementRefs({
140        @XmlElementRef(name = "parent", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
141        @XmlElementRef(name = "limiter", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
142        @XmlElementRef(name = "executor", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
143        @XmlElementRef(name = "store", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
144    })
145    @XmlAnyElement(lax = true)
146    protected List<Object> executorOrLimiterOrParent;
147    @XmlAttribute(name = "executor")
148    protected String executor;
149    @XmlAttribute(name = "limit")
150    protected String limit;
151    @XmlAttribute(name = "limiter")
152    protected String limiter;
153    @XmlAttribute(name = "name")
154    protected String name;
155    @XmlAttribute(name = "parent")
156    protected String parent;
157    @XmlAttribute(name = "percentLimit")
158    protected BigInteger percentLimit;
159    @XmlAttribute(name = "percentUsage")
160    protected BigInteger percentUsage;
161    @XmlAttribute(name = "percentUsageMinDelta")
162    protected String percentUsageMinDelta;
163    @XmlAttribute(name = "pollingTime")
164    protected BigInteger pollingTime;
165    @XmlAttribute(name = "store")
166    protected String store;
167    @XmlAttribute(name = "total")
168    protected String total;
169    @XmlAttribute(name = "usagePortion")
170    protected Float usagePortion;
171    @XmlAttribute(name = "id")
172    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
173    @XmlID
174    @XmlSchemaType(name = "ID")
175    protected String id;
176    @XmlAnyAttribute
177    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
178
179    /**
180     * Gets the value of the executorOrLimiterOrParent property.
181     * 
182     * <p>
183     * This accessor method returns a reference to the live list,
184     * not a snapshot. Therefore any modification you make to the
185     * returned list will be present inside the JAXB object.
186     * This is why there is not a <CODE>set</CODE> method for the executorOrLimiterOrParent property.
187     * 
188     * <p>
189     * For example, to add a new item, do as follows:
190     * <pre>
191     *    getExecutorOrLimiterOrParent().add(newItem);
192     * </pre>
193     * 
194     * 
195     * <p>
196     * Objects of the following type(s) are allowed in the list
197     * {@link JAXBElement }{@code <}{@link DtoStoreUsage.Parent }{@code >}
198     * {@link Object }
199     * {@link JAXBElement }{@code <}{@link DtoStoreUsage.Limiter }{@code >}
200     * {@link JAXBElement }{@code <}{@link DtoStoreUsage.Executor }{@code >}
201     * {@link JAXBElement }{@code <}{@link DtoStoreUsage.Store }{@code >}
202     * 
203     * 
204     */
205    public List<Object> getExecutorOrLimiterOrParent() {
206        if (executorOrLimiterOrParent == null) {
207            executorOrLimiterOrParent = new ArrayList<Object>();
208        }
209        return this.executorOrLimiterOrParent;
210    }
211
212    /**
213     * Gets the value of the executor property.
214     * 
215     * @return
216     *     possible object is
217     *     {@link String }
218     *     
219     */
220    public String getExecutor() {
221        return executor;
222    }
223
224    /**
225     * Sets the value of the executor property.
226     * 
227     * @param value
228     *     allowed object is
229     *     {@link String }
230     *     
231     */
232    public void setExecutor(String value) {
233        this.executor = value;
234    }
235
236    /**
237     * Gets the value of the limit property.
238     * 
239     * @return
240     *     possible object is
241     *     {@link String }
242     *     
243     */
244    public String getLimit() {
245        return limit;
246    }
247
248    /**
249     * Sets the value of the limit property.
250     * 
251     * @param value
252     *     allowed object is
253     *     {@link String }
254     *     
255     */
256    public void setLimit(String value) {
257        this.limit = value;
258    }
259
260    /**
261     * Gets the value of the limiter property.
262     * 
263     * @return
264     *     possible object is
265     *     {@link String }
266     *     
267     */
268    public String getLimiter() {
269        return limiter;
270    }
271
272    /**
273     * Sets the value of the limiter property.
274     * 
275     * @param value
276     *     allowed object is
277     *     {@link String }
278     *     
279     */
280    public void setLimiter(String value) {
281        this.limiter = value;
282    }
283
284    /**
285     * Gets the value of the name property.
286     * 
287     * @return
288     *     possible object is
289     *     {@link String }
290     *     
291     */
292    public String getName() {
293        return name;
294    }
295
296    /**
297     * Sets the value of the name property.
298     * 
299     * @param value
300     *     allowed object is
301     *     {@link String }
302     *     
303     */
304    public void setName(String value) {
305        this.name = value;
306    }
307
308    /**
309     * Gets the value of the parent property.
310     * 
311     * @return
312     *     possible object is
313     *     {@link String }
314     *     
315     */
316    public String getParent() {
317        return parent;
318    }
319
320    /**
321     * Sets the value of the parent property.
322     * 
323     * @param value
324     *     allowed object is
325     *     {@link String }
326     *     
327     */
328    public void setParent(String value) {
329        this.parent = value;
330    }
331
332    /**
333     * Gets the value of the percentLimit property.
334     * 
335     * @return
336     *     possible object is
337     *     {@link BigInteger }
338     *     
339     */
340    public BigInteger getPercentLimit() {
341        return percentLimit;
342    }
343
344    /**
345     * Sets the value of the percentLimit property.
346     * 
347     * @param value
348     *     allowed object is
349     *     {@link BigInteger }
350     *     
351     */
352    public void setPercentLimit(BigInteger value) {
353        this.percentLimit = value;
354    }
355
356    /**
357     * Gets the value of the percentUsage property.
358     * 
359     * @return
360     *     possible object is
361     *     {@link BigInteger }
362     *     
363     */
364    public BigInteger getPercentUsage() {
365        return percentUsage;
366    }
367
368    /**
369     * Sets the value of the percentUsage property.
370     * 
371     * @param value
372     *     allowed object is
373     *     {@link BigInteger }
374     *     
375     */
376    public void setPercentUsage(BigInteger value) {
377        this.percentUsage = value;
378    }
379
380    /**
381     * Gets the value of the percentUsageMinDelta property.
382     * 
383     * @return
384     *     possible object is
385     *     {@link String }
386     *     
387     */
388    public String getPercentUsageMinDelta() {
389        return percentUsageMinDelta;
390    }
391
392    /**
393     * Sets the value of the percentUsageMinDelta property.
394     * 
395     * @param value
396     *     allowed object is
397     *     {@link String }
398     *     
399     */
400    public void setPercentUsageMinDelta(String value) {
401        this.percentUsageMinDelta = value;
402    }
403
404    /**
405     * Gets the value of the pollingTime property.
406     * 
407     * @return
408     *     possible object is
409     *     {@link BigInteger }
410     *     
411     */
412    public BigInteger getPollingTime() {
413        return pollingTime;
414    }
415
416    /**
417     * Sets the value of the pollingTime property.
418     * 
419     * @param value
420     *     allowed object is
421     *     {@link BigInteger }
422     *     
423     */
424    public void setPollingTime(BigInteger value) {
425        this.pollingTime = value;
426    }
427
428    /**
429     * Gets the value of the store property.
430     * 
431     * @return
432     *     possible object is
433     *     {@link String }
434     *     
435     */
436    public String getStore() {
437        return store;
438    }
439
440    /**
441     * Sets the value of the store property.
442     * 
443     * @param value
444     *     allowed object is
445     *     {@link String }
446     *     
447     */
448    public void setStore(String value) {
449        this.store = value;
450    }
451
452    /**
453     * Gets the value of the total property.
454     * 
455     * @return
456     *     possible object is
457     *     {@link String }
458     *     
459     */
460    public String getTotal() {
461        return total;
462    }
463
464    /**
465     * Sets the value of the total property.
466     * 
467     * @param value
468     *     allowed object is
469     *     {@link String }
470     *     
471     */
472    public void setTotal(String value) {
473        this.total = value;
474    }
475
476    /**
477     * Gets the value of the usagePortion property.
478     * 
479     * @return
480     *     possible object is
481     *     {@link Float }
482     *     
483     */
484    public Float getUsagePortion() {
485        return usagePortion;
486    }
487
488    /**
489     * Sets the value of the usagePortion property.
490     * 
491     * @param value
492     *     allowed object is
493     *     {@link Float }
494     *     
495     */
496    public void setUsagePortion(Float value) {
497        this.usagePortion = value;
498    }
499
500    /**
501     * Gets the value of the id property.
502     * 
503     * @return
504     *     possible object is
505     *     {@link String }
506     *     
507     */
508    public String getId() {
509        return id;
510    }
511
512    /**
513     * Sets the value of the id property.
514     * 
515     * @param value
516     *     allowed object is
517     *     {@link String }
518     *     
519     */
520    public void setId(String value) {
521        this.id = value;
522    }
523
524    /**
525     * Gets a map that contains attributes that aren't bound to any typed property on this class.
526     * 
527     * <p>
528     * the map is keyed by the name of the attribute and 
529     * the value is the string value of the attribute.
530     * 
531     * the map returned by this method is live, and you can add new attribute
532     * by updating the map directly. Because of this design, there's no setter.
533     * 
534     * 
535     * @return
536     *     always non-null
537     */
538    public Map<QName, String> getOtherAttributes() {
539        return otherAttributes;
540    }
541
542    public String toString() {
543        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
544        final StringBuilder buffer = new StringBuilder();
545        append(null, buffer, strategy);
546        return buffer.toString();
547    }
548
549    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
550        strategy.appendStart(locator, this, buffer);
551        appendFields(locator, buffer, strategy);
552        strategy.appendEnd(locator, this, buffer);
553        return buffer;
554    }
555
556    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
557        {
558            List<Object> theExecutorOrLimiterOrParent;
559            theExecutorOrLimiterOrParent = (((this.executorOrLimiterOrParent!= null)&&(!this.executorOrLimiterOrParent.isEmpty()))?this.getExecutorOrLimiterOrParent():null);
560            strategy.appendField(locator, this, "executorOrLimiterOrParent", buffer, theExecutorOrLimiterOrParent);
561        }
562        {
563            String theExecutor;
564            theExecutor = this.getExecutor();
565            strategy.appendField(locator, this, "executor", buffer, theExecutor);
566        }
567        {
568            String theLimit;
569            theLimit = this.getLimit();
570            strategy.appendField(locator, this, "limit", buffer, theLimit);
571        }
572        {
573            String theLimiter;
574            theLimiter = this.getLimiter();
575            strategy.appendField(locator, this, "limiter", buffer, theLimiter);
576        }
577        {
578            String theName;
579            theName = this.getName();
580            strategy.appendField(locator, this, "name", buffer, theName);
581        }
582        {
583            String theParent;
584            theParent = this.getParent();
585            strategy.appendField(locator, this, "parent", buffer, theParent);
586        }
587        {
588            BigInteger thePercentLimit;
589            thePercentLimit = this.getPercentLimit();
590            strategy.appendField(locator, this, "percentLimit", buffer, thePercentLimit);
591        }
592        {
593            BigInteger thePercentUsage;
594            thePercentUsage = this.getPercentUsage();
595            strategy.appendField(locator, this, "percentUsage", buffer, thePercentUsage);
596        }
597        {
598            String thePercentUsageMinDelta;
599            thePercentUsageMinDelta = this.getPercentUsageMinDelta();
600            strategy.appendField(locator, this, "percentUsageMinDelta", buffer, thePercentUsageMinDelta);
601        }
602        {
603            BigInteger thePollingTime;
604            thePollingTime = this.getPollingTime();
605            strategy.appendField(locator, this, "pollingTime", buffer, thePollingTime);
606        }
607        {
608            String theStore;
609            theStore = this.getStore();
610            strategy.appendField(locator, this, "store", buffer, theStore);
611        }
612        {
613            String theTotal;
614            theTotal = this.getTotal();
615            strategy.appendField(locator, this, "total", buffer, theTotal);
616        }
617        {
618            Float theUsagePortion;
619            theUsagePortion = this.getUsagePortion();
620            strategy.appendField(locator, this, "usagePortion", buffer, theUsagePortion);
621        }
622        {
623            String theId;
624            theId = this.getId();
625            strategy.appendField(locator, this, "id", buffer, theId);
626        }
627        return buffer;
628    }
629
630    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
631        int currentHashCode = 1;
632        {
633            List<Object> theExecutorOrLimiterOrParent;
634            theExecutorOrLimiterOrParent = (((this.executorOrLimiterOrParent!= null)&&(!this.executorOrLimiterOrParent.isEmpty()))?this.getExecutorOrLimiterOrParent():null);
635            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "executorOrLimiterOrParent", theExecutorOrLimiterOrParent), currentHashCode, theExecutorOrLimiterOrParent);
636        }
637        {
638            String theExecutor;
639            theExecutor = this.getExecutor();
640            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "executor", theExecutor), currentHashCode, theExecutor);
641        }
642        {
643            String theLimit;
644            theLimit = this.getLimit();
645            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "limit", theLimit), currentHashCode, theLimit);
646        }
647        {
648            String theLimiter;
649            theLimiter = this.getLimiter();
650            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "limiter", theLimiter), currentHashCode, theLimiter);
651        }
652        {
653            String theName;
654            theName = this.getName();
655            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName);
656        }
657        {
658            String theParent;
659            theParent = this.getParent();
660            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "parent", theParent), currentHashCode, theParent);
661        }
662        {
663            BigInteger thePercentLimit;
664            thePercentLimit = this.getPercentLimit();
665            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "percentLimit", thePercentLimit), currentHashCode, thePercentLimit);
666        }
667        {
668            BigInteger thePercentUsage;
669            thePercentUsage = this.getPercentUsage();
670            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "percentUsage", thePercentUsage), currentHashCode, thePercentUsage);
671        }
672        {
673            String thePercentUsageMinDelta;
674            thePercentUsageMinDelta = this.getPercentUsageMinDelta();
675            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "percentUsageMinDelta", thePercentUsageMinDelta), currentHashCode, thePercentUsageMinDelta);
676        }
677        {
678            BigInteger thePollingTime;
679            thePollingTime = this.getPollingTime();
680            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "pollingTime", thePollingTime), currentHashCode, thePollingTime);
681        }
682        {
683            String theStore;
684            theStore = this.getStore();
685            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "store", theStore), currentHashCode, theStore);
686        }
687        {
688            String theTotal;
689            theTotal = this.getTotal();
690            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "total", theTotal), currentHashCode, theTotal);
691        }
692        {
693            Float theUsagePortion;
694            theUsagePortion = this.getUsagePortion();
695            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "usagePortion", theUsagePortion), currentHashCode, theUsagePortion);
696        }
697        {
698            String theId;
699            theId = this.getId();
700            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
701        }
702        return currentHashCode;
703    }
704
705    public int hashCode() {
706        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
707        return this.hashCode(null, strategy);
708    }
709
710    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
711        if (!(object instanceof DtoStoreUsage)) {
712            return false;
713        }
714        if (this == object) {
715            return true;
716        }
717        final DtoStoreUsage that = ((DtoStoreUsage) object);
718        {
719            List<Object> lhsExecutorOrLimiterOrParent;
720            lhsExecutorOrLimiterOrParent = (((this.executorOrLimiterOrParent!= null)&&(!this.executorOrLimiterOrParent.isEmpty()))?this.getExecutorOrLimiterOrParent():null);
721            List<Object> rhsExecutorOrLimiterOrParent;
722            rhsExecutorOrLimiterOrParent = (((that.executorOrLimiterOrParent!= null)&&(!that.executorOrLimiterOrParent.isEmpty()))?that.getExecutorOrLimiterOrParent():null);
723            if (!strategy.equals(LocatorUtils.property(thisLocator, "executorOrLimiterOrParent", lhsExecutorOrLimiterOrParent), LocatorUtils.property(thatLocator, "executorOrLimiterOrParent", rhsExecutorOrLimiterOrParent), lhsExecutorOrLimiterOrParent, rhsExecutorOrLimiterOrParent)) {
724                return false;
725            }
726        }
727        {
728            String lhsExecutor;
729            lhsExecutor = this.getExecutor();
730            String rhsExecutor;
731            rhsExecutor = that.getExecutor();
732            if (!strategy.equals(LocatorUtils.property(thisLocator, "executor", lhsExecutor), LocatorUtils.property(thatLocator, "executor", rhsExecutor), lhsExecutor, rhsExecutor)) {
733                return false;
734            }
735        }
736        {
737            String lhsLimit;
738            lhsLimit = this.getLimit();
739            String rhsLimit;
740            rhsLimit = that.getLimit();
741            if (!strategy.equals(LocatorUtils.property(thisLocator, "limit", lhsLimit), LocatorUtils.property(thatLocator, "limit", rhsLimit), lhsLimit, rhsLimit)) {
742                return false;
743            }
744        }
745        {
746            String lhsLimiter;
747            lhsLimiter = this.getLimiter();
748            String rhsLimiter;
749            rhsLimiter = that.getLimiter();
750            if (!strategy.equals(LocatorUtils.property(thisLocator, "limiter", lhsLimiter), LocatorUtils.property(thatLocator, "limiter", rhsLimiter), lhsLimiter, rhsLimiter)) {
751                return false;
752            }
753        }
754        {
755            String lhsName;
756            lhsName = this.getName();
757            String rhsName;
758            rhsName = that.getName();
759            if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName)) {
760                return false;
761            }
762        }
763        {
764            String lhsParent;
765            lhsParent = this.getParent();
766            String rhsParent;
767            rhsParent = that.getParent();
768            if (!strategy.equals(LocatorUtils.property(thisLocator, "parent", lhsParent), LocatorUtils.property(thatLocator, "parent", rhsParent), lhsParent, rhsParent)) {
769                return false;
770            }
771        }
772        {
773            BigInteger lhsPercentLimit;
774            lhsPercentLimit = this.getPercentLimit();
775            BigInteger rhsPercentLimit;
776            rhsPercentLimit = that.getPercentLimit();
777            if (!strategy.equals(LocatorUtils.property(thisLocator, "percentLimit", lhsPercentLimit), LocatorUtils.property(thatLocator, "percentLimit", rhsPercentLimit), lhsPercentLimit, rhsPercentLimit)) {
778                return false;
779            }
780        }
781        {
782            BigInteger lhsPercentUsage;
783            lhsPercentUsage = this.getPercentUsage();
784            BigInteger rhsPercentUsage;
785            rhsPercentUsage = that.getPercentUsage();
786            if (!strategy.equals(LocatorUtils.property(thisLocator, "percentUsage", lhsPercentUsage), LocatorUtils.property(thatLocator, "percentUsage", rhsPercentUsage), lhsPercentUsage, rhsPercentUsage)) {
787                return false;
788            }
789        }
790        {
791            String lhsPercentUsageMinDelta;
792            lhsPercentUsageMinDelta = this.getPercentUsageMinDelta();
793            String rhsPercentUsageMinDelta;
794            rhsPercentUsageMinDelta = that.getPercentUsageMinDelta();
795            if (!strategy.equals(LocatorUtils.property(thisLocator, "percentUsageMinDelta", lhsPercentUsageMinDelta), LocatorUtils.property(thatLocator, "percentUsageMinDelta", rhsPercentUsageMinDelta), lhsPercentUsageMinDelta, rhsPercentUsageMinDelta)) {
796                return false;
797            }
798        }
799        {
800            BigInteger lhsPollingTime;
801            lhsPollingTime = this.getPollingTime();
802            BigInteger rhsPollingTime;
803            rhsPollingTime = that.getPollingTime();
804            if (!strategy.equals(LocatorUtils.property(thisLocator, "pollingTime", lhsPollingTime), LocatorUtils.property(thatLocator, "pollingTime", rhsPollingTime), lhsPollingTime, rhsPollingTime)) {
805                return false;
806            }
807        }
808        {
809            String lhsStore;
810            lhsStore = this.getStore();
811            String rhsStore;
812            rhsStore = that.getStore();
813            if (!strategy.equals(LocatorUtils.property(thisLocator, "store", lhsStore), LocatorUtils.property(thatLocator, "store", rhsStore), lhsStore, rhsStore)) {
814                return false;
815            }
816        }
817        {
818            String lhsTotal;
819            lhsTotal = this.getTotal();
820            String rhsTotal;
821            rhsTotal = that.getTotal();
822            if (!strategy.equals(LocatorUtils.property(thisLocator, "total", lhsTotal), LocatorUtils.property(thatLocator, "total", rhsTotal), lhsTotal, rhsTotal)) {
823                return false;
824            }
825        }
826        {
827            Float lhsUsagePortion;
828            lhsUsagePortion = this.getUsagePortion();
829            Float rhsUsagePortion;
830            rhsUsagePortion = that.getUsagePortion();
831            if (!strategy.equals(LocatorUtils.property(thisLocator, "usagePortion", lhsUsagePortion), LocatorUtils.property(thatLocator, "usagePortion", rhsUsagePortion), lhsUsagePortion, rhsUsagePortion)) {
832                return false;
833            }
834        }
835        {
836            String lhsId;
837            lhsId = this.getId();
838            String rhsId;
839            rhsId = that.getId();
840            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
841                return false;
842            }
843        }
844        return true;
845    }
846
847    public boolean equals(Object object) {
848        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
849        return equals(null, null, object, strategy);
850    }
851
852
853    /**
854     * <p>Java class for anonymous complex type.
855     * 
856     * <p>The following schema fragment specifies the expected content contained within this class.
857     * 
858     * <pre>
859     * &lt;complexType>
860     *   &lt;complexContent>
861     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
862     *       &lt;sequence minOccurs="0">
863     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
864     *       &lt;/sequence>
865     *     &lt;/restriction>
866     *   &lt;/complexContent>
867     * &lt;/complexType>
868     * </pre>
869     * 
870     * 
871     */
872    @XmlAccessorType(XmlAccessType.FIELD)
873    @XmlType(name = "", propOrder = {
874        "any"
875    })
876    public static class Executor
877        implements Equals, HashCode, ToString
878    {
879
880        @XmlAnyElement(lax = true)
881        protected List<Object> any;
882
883        /**
884         * Gets the value of the any property.
885         * 
886         * <p>
887         * This accessor method returns a reference to the live list,
888         * not a snapshot. Therefore any modification you make to the
889         * returned list will be present inside the JAXB object.
890         * This is why there is not a <CODE>set</CODE> method for the any property.
891         * 
892         * <p>
893         * For example, to add a new item, do as follows:
894         * <pre>
895         *    getAny().add(newItem);
896         * </pre>
897         * 
898         * 
899         * <p>
900         * Objects of the following type(s) are allowed in the list
901         * {@link Object }
902         * 
903         * 
904         */
905        public List<Object> getAny() {
906            if (any == null) {
907                any = new ArrayList<Object>();
908            }
909            return this.any;
910        }
911
912        public String toString() {
913            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
914            final StringBuilder buffer = new StringBuilder();
915            append(null, buffer, strategy);
916            return buffer.toString();
917        }
918
919        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
920            strategy.appendStart(locator, this, buffer);
921            appendFields(locator, buffer, strategy);
922            strategy.appendEnd(locator, this, buffer);
923            return buffer;
924        }
925
926        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
927            {
928                List<Object> theAny;
929                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
930                strategy.appendField(locator, this, "any", buffer, theAny);
931            }
932            return buffer;
933        }
934
935        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
936            int currentHashCode = 1;
937            {
938                List<Object> theAny;
939                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
940                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
941            }
942            return currentHashCode;
943        }
944
945        public int hashCode() {
946            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
947            return this.hashCode(null, strategy);
948        }
949
950        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
951            if (!(object instanceof DtoStoreUsage.Executor)) {
952                return false;
953            }
954            if (this == object) {
955                return true;
956            }
957            final DtoStoreUsage.Executor that = ((DtoStoreUsage.Executor) object);
958            {
959                List<Object> lhsAny;
960                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
961                List<Object> rhsAny;
962                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
963                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
964                    return false;
965                }
966            }
967            return true;
968        }
969
970        public boolean equals(Object object) {
971            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
972            return equals(null, null, object, strategy);
973        }
974
975    }
976
977
978    /**
979     * <p>Java class for anonymous complex type.
980     * 
981     * <p>The following schema fragment specifies the expected content contained within this class.
982     * 
983     * <pre>
984     * &lt;complexType>
985     *   &lt;complexContent>
986     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
987     *       &lt;choice minOccurs="0">
988     *         &lt;element ref="{http://activemq.apache.org/schema/core}defaultUsageCapacity"/>
989     *         &lt;element ref="{http://activemq.apache.org/schema/core}usageCapacity"/>
990     *         &lt;any namespace='##other'/>
991     *       &lt;/choice>
992     *     &lt;/restriction>
993     *   &lt;/complexContent>
994     * &lt;/complexType>
995     * </pre>
996     * 
997     * 
998     */
999    @XmlAccessorType(XmlAccessType.FIELD)
1000    @XmlType(name = "", propOrder = {
1001        "defaultUsageCapacity",
1002        "usageCapacity",
1003        "any"
1004    })
1005    public static class Limiter
1006        implements Equals, HashCode, ToString
1007    {
1008
1009        protected DtoDefaultUsageCapacity defaultUsageCapacity;
1010        protected DtoUsageCapacity usageCapacity;
1011        @XmlAnyElement(lax = true)
1012        protected Object any;
1013
1014        /**
1015         * Gets the value of the defaultUsageCapacity property.
1016         * 
1017         * @return
1018         *     possible object is
1019         *     {@link DtoDefaultUsageCapacity }
1020         *     
1021         */
1022        public DtoDefaultUsageCapacity getDefaultUsageCapacity() {
1023            return defaultUsageCapacity;
1024        }
1025
1026        /**
1027         * Sets the value of the defaultUsageCapacity property.
1028         * 
1029         * @param value
1030         *     allowed object is
1031         *     {@link DtoDefaultUsageCapacity }
1032         *     
1033         */
1034        public void setDefaultUsageCapacity(DtoDefaultUsageCapacity value) {
1035            this.defaultUsageCapacity = value;
1036        }
1037
1038        /**
1039         * Gets the value of the usageCapacity property.
1040         * 
1041         * @return
1042         *     possible object is
1043         *     {@link DtoUsageCapacity }
1044         *     
1045         */
1046        public DtoUsageCapacity getUsageCapacity() {
1047            return usageCapacity;
1048        }
1049
1050        /**
1051         * Sets the value of the usageCapacity property.
1052         * 
1053         * @param value
1054         *     allowed object is
1055         *     {@link DtoUsageCapacity }
1056         *     
1057         */
1058        public void setUsageCapacity(DtoUsageCapacity value) {
1059            this.usageCapacity = value;
1060        }
1061
1062        /**
1063         * Gets the value of the any property.
1064         * 
1065         * @return
1066         *     possible object is
1067         *     {@link Object }
1068         *     
1069         */
1070        public Object getAny() {
1071            return any;
1072        }
1073
1074        /**
1075         * Sets the value of the any property.
1076         * 
1077         * @param value
1078         *     allowed object is
1079         *     {@link Object }
1080         *     
1081         */
1082        public void setAny(Object value) {
1083            this.any = value;
1084        }
1085
1086        public String toString() {
1087            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1088            final StringBuilder buffer = new StringBuilder();
1089            append(null, buffer, strategy);
1090            return buffer.toString();
1091        }
1092
1093        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1094            strategy.appendStart(locator, this, buffer);
1095            appendFields(locator, buffer, strategy);
1096            strategy.appendEnd(locator, this, buffer);
1097            return buffer;
1098        }
1099
1100        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1101            {
1102                DtoDefaultUsageCapacity theDefaultUsageCapacity;
1103                theDefaultUsageCapacity = this.getDefaultUsageCapacity();
1104                strategy.appendField(locator, this, "defaultUsageCapacity", buffer, theDefaultUsageCapacity);
1105            }
1106            {
1107                DtoUsageCapacity theUsageCapacity;
1108                theUsageCapacity = this.getUsageCapacity();
1109                strategy.appendField(locator, this, "usageCapacity", buffer, theUsageCapacity);
1110            }
1111            {
1112                Object theAny;
1113                theAny = this.getAny();
1114                strategy.appendField(locator, this, "any", buffer, theAny);
1115            }
1116            return buffer;
1117        }
1118
1119        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1120            int currentHashCode = 1;
1121            {
1122                DtoDefaultUsageCapacity theDefaultUsageCapacity;
1123                theDefaultUsageCapacity = this.getDefaultUsageCapacity();
1124                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "defaultUsageCapacity", theDefaultUsageCapacity), currentHashCode, theDefaultUsageCapacity);
1125            }
1126            {
1127                DtoUsageCapacity theUsageCapacity;
1128                theUsageCapacity = this.getUsageCapacity();
1129                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "usageCapacity", theUsageCapacity), currentHashCode, theUsageCapacity);
1130            }
1131            {
1132                Object theAny;
1133                theAny = this.getAny();
1134                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1135            }
1136            return currentHashCode;
1137        }
1138
1139        public int hashCode() {
1140            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1141            return this.hashCode(null, strategy);
1142        }
1143
1144        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1145            if (!(object instanceof DtoStoreUsage.Limiter)) {
1146                return false;
1147            }
1148            if (this == object) {
1149                return true;
1150            }
1151            final DtoStoreUsage.Limiter that = ((DtoStoreUsage.Limiter) object);
1152            {
1153                DtoDefaultUsageCapacity lhsDefaultUsageCapacity;
1154                lhsDefaultUsageCapacity = this.getDefaultUsageCapacity();
1155                DtoDefaultUsageCapacity rhsDefaultUsageCapacity;
1156                rhsDefaultUsageCapacity = that.getDefaultUsageCapacity();
1157                if (!strategy.equals(LocatorUtils.property(thisLocator, "defaultUsageCapacity", lhsDefaultUsageCapacity), LocatorUtils.property(thatLocator, "defaultUsageCapacity", rhsDefaultUsageCapacity), lhsDefaultUsageCapacity, rhsDefaultUsageCapacity)) {
1158                    return false;
1159                }
1160            }
1161            {
1162                DtoUsageCapacity lhsUsageCapacity;
1163                lhsUsageCapacity = this.getUsageCapacity();
1164                DtoUsageCapacity rhsUsageCapacity;
1165                rhsUsageCapacity = that.getUsageCapacity();
1166                if (!strategy.equals(LocatorUtils.property(thisLocator, "usageCapacity", lhsUsageCapacity), LocatorUtils.property(thatLocator, "usageCapacity", rhsUsageCapacity), lhsUsageCapacity, rhsUsageCapacity)) {
1167                    return false;
1168                }
1169            }
1170            {
1171                Object lhsAny;
1172                lhsAny = this.getAny();
1173                Object rhsAny;
1174                rhsAny = that.getAny();
1175                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1176                    return false;
1177                }
1178            }
1179            return true;
1180        }
1181
1182        public boolean equals(Object object) {
1183            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1184            return equals(null, null, object, strategy);
1185        }
1186
1187    }
1188
1189
1190    /**
1191     * <p>Java class for anonymous complex type.
1192     * 
1193     * <p>The following schema fragment specifies the expected content contained within this class.
1194     * 
1195     * <pre>
1196     * &lt;complexType>
1197     *   &lt;complexContent>
1198     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1199     *       &lt;sequence minOccurs="0">
1200     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
1201     *       &lt;/sequence>
1202     *     &lt;/restriction>
1203     *   &lt;/complexContent>
1204     * &lt;/complexType>
1205     * </pre>
1206     * 
1207     * 
1208     */
1209    @XmlAccessorType(XmlAccessType.FIELD)
1210    @XmlType(name = "", propOrder = {
1211        "any"
1212    })
1213    public static class Parent
1214        implements Equals, HashCode, ToString
1215    {
1216
1217        @XmlAnyElement(lax = true)
1218        protected List<Object> any;
1219
1220        /**
1221         * Gets the value of the any property.
1222         * 
1223         * <p>
1224         * This accessor method returns a reference to the live list,
1225         * not a snapshot. Therefore any modification you make to the
1226         * returned list will be present inside the JAXB object.
1227         * This is why there is not a <CODE>set</CODE> method for the any property.
1228         * 
1229         * <p>
1230         * For example, to add a new item, do as follows:
1231         * <pre>
1232         *    getAny().add(newItem);
1233         * </pre>
1234         * 
1235         * 
1236         * <p>
1237         * Objects of the following type(s) are allowed in the list
1238         * {@link Object }
1239         * 
1240         * 
1241         */
1242        public List<Object> getAny() {
1243            if (any == null) {
1244                any = new ArrayList<Object>();
1245            }
1246            return this.any;
1247        }
1248
1249        public String toString() {
1250            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1251            final StringBuilder buffer = new StringBuilder();
1252            append(null, buffer, strategy);
1253            return buffer.toString();
1254        }
1255
1256        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1257            strategy.appendStart(locator, this, buffer);
1258            appendFields(locator, buffer, strategy);
1259            strategy.appendEnd(locator, this, buffer);
1260            return buffer;
1261        }
1262
1263        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1264            {
1265                List<Object> theAny;
1266                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1267                strategy.appendField(locator, this, "any", buffer, theAny);
1268            }
1269            return buffer;
1270        }
1271
1272        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1273            int currentHashCode = 1;
1274            {
1275                List<Object> theAny;
1276                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1277                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1278            }
1279            return currentHashCode;
1280        }
1281
1282        public int hashCode() {
1283            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1284            return this.hashCode(null, strategy);
1285        }
1286
1287        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1288            if (!(object instanceof DtoStoreUsage.Parent)) {
1289                return false;
1290            }
1291            if (this == object) {
1292                return true;
1293            }
1294            final DtoStoreUsage.Parent that = ((DtoStoreUsage.Parent) object);
1295            {
1296                List<Object> lhsAny;
1297                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
1298                List<Object> rhsAny;
1299                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
1300                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1301                    return false;
1302                }
1303            }
1304            return true;
1305        }
1306
1307        public boolean equals(Object object) {
1308            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1309            return equals(null, null, object, strategy);
1310        }
1311
1312    }
1313
1314
1315    /**
1316     * <p>Java class for anonymous complex type.
1317     * 
1318     * <p>The following schema fragment specifies the expected content contained within this class.
1319     * 
1320     * <pre>
1321     * &lt;complexType>
1322     *   &lt;complexContent>
1323     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1324     *       &lt;choice minOccurs="0">
1325     *         &lt;element ref="{http://activemq.apache.org/schema/core}jdbcPersistenceAdapter"/>
1326     *         &lt;element ref="{http://activemq.apache.org/schema/core}journalPersistenceAdapter"/>
1327     *         &lt;element ref="{http://activemq.apache.org/schema/core}kahaDB"/>
1328     *         &lt;element ref="{http://activemq.apache.org/schema/core}levelDB"/>
1329     *         &lt;element ref="{http://activemq.apache.org/schema/core}mKahaDB"/>
1330     *         &lt;element ref="{http://activemq.apache.org/schema/core}memoryPersistenceAdapter"/>
1331     *         &lt;element ref="{http://activemq.apache.org/schema/core}replicatedLevelDB"/>
1332     *         &lt;any namespace='##other'/>
1333     *       &lt;/choice>
1334     *     &lt;/restriction>
1335     *   &lt;/complexContent>
1336     * &lt;/complexType>
1337     * </pre>
1338     * 
1339     * 
1340     */
1341    @XmlAccessorType(XmlAccessType.FIELD)
1342    @XmlType(name = "", propOrder = {
1343        "jdbcPersistenceAdapter",
1344        "journalPersistenceAdapter",
1345        "kahaDB",
1346        "levelDB",
1347        "mKahaDB",
1348        "memoryPersistenceAdapter",
1349        "replicatedLevelDB",
1350        "any"
1351    })
1352    public static class Store
1353        implements Equals, HashCode, ToString
1354    {
1355
1356        protected DtoJdbcPersistenceAdapter jdbcPersistenceAdapter;
1357        protected DtoJournalPersistenceAdapter journalPersistenceAdapter;
1358        protected DtoKahaDB kahaDB;
1359        protected DtoLevelDB levelDB;
1360        protected DtoMKahaDB mKahaDB;
1361        protected DtoMemoryPersistenceAdapter memoryPersistenceAdapter;
1362        protected DtoReplicatedLevelDB replicatedLevelDB;
1363        @XmlAnyElement(lax = true)
1364        protected Object any;
1365
1366        /**
1367         * Gets the value of the jdbcPersistenceAdapter property.
1368         * 
1369         * @return
1370         *     possible object is
1371         *     {@link DtoJdbcPersistenceAdapter }
1372         *     
1373         */
1374        public DtoJdbcPersistenceAdapter getJdbcPersistenceAdapter() {
1375            return jdbcPersistenceAdapter;
1376        }
1377
1378        /**
1379         * Sets the value of the jdbcPersistenceAdapter property.
1380         * 
1381         * @param value
1382         *     allowed object is
1383         *     {@link DtoJdbcPersistenceAdapter }
1384         *     
1385         */
1386        public void setJdbcPersistenceAdapter(DtoJdbcPersistenceAdapter value) {
1387            this.jdbcPersistenceAdapter = value;
1388        }
1389
1390        /**
1391         * Gets the value of the journalPersistenceAdapter property.
1392         * 
1393         * @return
1394         *     possible object is
1395         *     {@link DtoJournalPersistenceAdapter }
1396         *     
1397         */
1398        public DtoJournalPersistenceAdapter getJournalPersistenceAdapter() {
1399            return journalPersistenceAdapter;
1400        }
1401
1402        /**
1403         * Sets the value of the journalPersistenceAdapter property.
1404         * 
1405         * @param value
1406         *     allowed object is
1407         *     {@link DtoJournalPersistenceAdapter }
1408         *     
1409         */
1410        public void setJournalPersistenceAdapter(DtoJournalPersistenceAdapter value) {
1411            this.journalPersistenceAdapter = value;
1412        }
1413
1414        /**
1415         * Gets the value of the kahaDB property.
1416         * 
1417         * @return
1418         *     possible object is
1419         *     {@link DtoKahaDB }
1420         *     
1421         */
1422        public DtoKahaDB getKahaDB() {
1423            return kahaDB;
1424        }
1425
1426        /**
1427         * Sets the value of the kahaDB property.
1428         * 
1429         * @param value
1430         *     allowed object is
1431         *     {@link DtoKahaDB }
1432         *     
1433         */
1434        public void setKahaDB(DtoKahaDB value) {
1435            this.kahaDB = value;
1436        }
1437
1438        /**
1439         * Gets the value of the levelDB property.
1440         * 
1441         * @return
1442         *     possible object is
1443         *     {@link DtoLevelDB }
1444         *     
1445         */
1446        public DtoLevelDB getLevelDB() {
1447            return levelDB;
1448        }
1449
1450        /**
1451         * Sets the value of the levelDB property.
1452         * 
1453         * @param value
1454         *     allowed object is
1455         *     {@link DtoLevelDB }
1456         *     
1457         */
1458        public void setLevelDB(DtoLevelDB value) {
1459            this.levelDB = value;
1460        }
1461
1462        /**
1463         * Gets the value of the mKahaDB property.
1464         * 
1465         * @return
1466         *     possible object is
1467         *     {@link DtoMKahaDB }
1468         *     
1469         */
1470        public DtoMKahaDB getMKahaDB() {
1471            return mKahaDB;
1472        }
1473
1474        /**
1475         * Sets the value of the mKahaDB property.
1476         * 
1477         * @param value
1478         *     allowed object is
1479         *     {@link DtoMKahaDB }
1480         *     
1481         */
1482        public void setMKahaDB(DtoMKahaDB value) {
1483            this.mKahaDB = value;
1484        }
1485
1486        /**
1487         * Gets the value of the memoryPersistenceAdapter property.
1488         * 
1489         * @return
1490         *     possible object is
1491         *     {@link DtoMemoryPersistenceAdapter }
1492         *     
1493         */
1494        public DtoMemoryPersistenceAdapter getMemoryPersistenceAdapter() {
1495            return memoryPersistenceAdapter;
1496        }
1497
1498        /**
1499         * Sets the value of the memoryPersistenceAdapter property.
1500         * 
1501         * @param value
1502         *     allowed object is
1503         *     {@link DtoMemoryPersistenceAdapter }
1504         *     
1505         */
1506        public void setMemoryPersistenceAdapter(DtoMemoryPersistenceAdapter value) {
1507            this.memoryPersistenceAdapter = value;
1508        }
1509
1510        /**
1511         * Gets the value of the replicatedLevelDB property.
1512         * 
1513         * @return
1514         *     possible object is
1515         *     {@link DtoReplicatedLevelDB }
1516         *     
1517         */
1518        public DtoReplicatedLevelDB getReplicatedLevelDB() {
1519            return replicatedLevelDB;
1520        }
1521
1522        /**
1523         * Sets the value of the replicatedLevelDB property.
1524         * 
1525         * @param value
1526         *     allowed object is
1527         *     {@link DtoReplicatedLevelDB }
1528         *     
1529         */
1530        public void setReplicatedLevelDB(DtoReplicatedLevelDB value) {
1531            this.replicatedLevelDB = value;
1532        }
1533
1534        /**
1535         * Gets the value of the any property.
1536         * 
1537         * @return
1538         *     possible object is
1539         *     {@link Object }
1540         *     
1541         */
1542        public Object getAny() {
1543            return any;
1544        }
1545
1546        /**
1547         * Sets the value of the any property.
1548         * 
1549         * @param value
1550         *     allowed object is
1551         *     {@link Object }
1552         *     
1553         */
1554        public void setAny(Object value) {
1555            this.any = value;
1556        }
1557
1558        public String toString() {
1559            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1560            final StringBuilder buffer = new StringBuilder();
1561            append(null, buffer, strategy);
1562            return buffer.toString();
1563        }
1564
1565        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1566            strategy.appendStart(locator, this, buffer);
1567            appendFields(locator, buffer, strategy);
1568            strategy.appendEnd(locator, this, buffer);
1569            return buffer;
1570        }
1571
1572        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1573            {
1574                DtoJdbcPersistenceAdapter theJdbcPersistenceAdapter;
1575                theJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1576                strategy.appendField(locator, this, "jdbcPersistenceAdapter", buffer, theJdbcPersistenceAdapter);
1577            }
1578            {
1579                DtoJournalPersistenceAdapter theJournalPersistenceAdapter;
1580                theJournalPersistenceAdapter = this.getJournalPersistenceAdapter();
1581                strategy.appendField(locator, this, "journalPersistenceAdapter", buffer, theJournalPersistenceAdapter);
1582            }
1583            {
1584                DtoKahaDB theKahaDB;
1585                theKahaDB = this.getKahaDB();
1586                strategy.appendField(locator, this, "kahaDB", buffer, theKahaDB);
1587            }
1588            {
1589                DtoLevelDB theLevelDB;
1590                theLevelDB = this.getLevelDB();
1591                strategy.appendField(locator, this, "levelDB", buffer, theLevelDB);
1592            }
1593            {
1594                DtoMKahaDB theMKahaDB;
1595                theMKahaDB = this.getMKahaDB();
1596                strategy.appendField(locator, this, "mKahaDB", buffer, theMKahaDB);
1597            }
1598            {
1599                DtoMemoryPersistenceAdapter theMemoryPersistenceAdapter;
1600                theMemoryPersistenceAdapter = this.getMemoryPersistenceAdapter();
1601                strategy.appendField(locator, this, "memoryPersistenceAdapter", buffer, theMemoryPersistenceAdapter);
1602            }
1603            {
1604                DtoReplicatedLevelDB theReplicatedLevelDB;
1605                theReplicatedLevelDB = this.getReplicatedLevelDB();
1606                strategy.appendField(locator, this, "replicatedLevelDB", buffer, theReplicatedLevelDB);
1607            }
1608            {
1609                Object theAny;
1610                theAny = this.getAny();
1611                strategy.appendField(locator, this, "any", buffer, theAny);
1612            }
1613            return buffer;
1614        }
1615
1616        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1617            int currentHashCode = 1;
1618            {
1619                DtoJdbcPersistenceAdapter theJdbcPersistenceAdapter;
1620                theJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1621                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "jdbcPersistenceAdapter", theJdbcPersistenceAdapter), currentHashCode, theJdbcPersistenceAdapter);
1622            }
1623            {
1624                DtoJournalPersistenceAdapter theJournalPersistenceAdapter;
1625                theJournalPersistenceAdapter = this.getJournalPersistenceAdapter();
1626                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "journalPersistenceAdapter", theJournalPersistenceAdapter), currentHashCode, theJournalPersistenceAdapter);
1627            }
1628            {
1629                DtoKahaDB theKahaDB;
1630                theKahaDB = this.getKahaDB();
1631                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "kahaDB", theKahaDB), currentHashCode, theKahaDB);
1632            }
1633            {
1634                DtoLevelDB theLevelDB;
1635                theLevelDB = this.getLevelDB();
1636                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "levelDB", theLevelDB), currentHashCode, theLevelDB);
1637            }
1638            {
1639                DtoMKahaDB theMKahaDB;
1640                theMKahaDB = this.getMKahaDB();
1641                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mKahaDB", theMKahaDB), currentHashCode, theMKahaDB);
1642            }
1643            {
1644                DtoMemoryPersistenceAdapter theMemoryPersistenceAdapter;
1645                theMemoryPersistenceAdapter = this.getMemoryPersistenceAdapter();
1646                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "memoryPersistenceAdapter", theMemoryPersistenceAdapter), currentHashCode, theMemoryPersistenceAdapter);
1647            }
1648            {
1649                DtoReplicatedLevelDB theReplicatedLevelDB;
1650                theReplicatedLevelDB = this.getReplicatedLevelDB();
1651                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "replicatedLevelDB", theReplicatedLevelDB), currentHashCode, theReplicatedLevelDB);
1652            }
1653            {
1654                Object theAny;
1655                theAny = this.getAny();
1656                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1657            }
1658            return currentHashCode;
1659        }
1660
1661        public int hashCode() {
1662            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1663            return this.hashCode(null, strategy);
1664        }
1665
1666        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1667            if (!(object instanceof DtoStoreUsage.Store)) {
1668                return false;
1669            }
1670            if (this == object) {
1671                return true;
1672            }
1673            final DtoStoreUsage.Store that = ((DtoStoreUsage.Store) object);
1674            {
1675                DtoJdbcPersistenceAdapter lhsJdbcPersistenceAdapter;
1676                lhsJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1677                DtoJdbcPersistenceAdapter rhsJdbcPersistenceAdapter;
1678                rhsJdbcPersistenceAdapter = that.getJdbcPersistenceAdapter();
1679                if (!strategy.equals(LocatorUtils.property(thisLocator, "jdbcPersistenceAdapter", lhsJdbcPersistenceAdapter), LocatorUtils.property(thatLocator, "jdbcPersistenceAdapter", rhsJdbcPersistenceAdapter), lhsJdbcPersistenceAdapter, rhsJdbcPersistenceAdapter)) {
1680                    return false;
1681                }
1682            }
1683            {
1684                DtoJournalPersistenceAdapter lhsJournalPersistenceAdapter;
1685                lhsJournalPersistenceAdapter = this.getJournalPersistenceAdapter();
1686                DtoJournalPersistenceAdapter rhsJournalPersistenceAdapter;
1687                rhsJournalPersistenceAdapter = that.getJournalPersistenceAdapter();
1688                if (!strategy.equals(LocatorUtils.property(thisLocator, "journalPersistenceAdapter", lhsJournalPersistenceAdapter), LocatorUtils.property(thatLocator, "journalPersistenceAdapter", rhsJournalPersistenceAdapter), lhsJournalPersistenceAdapter, rhsJournalPersistenceAdapter)) {
1689                    return false;
1690                }
1691            }
1692            {
1693                DtoKahaDB lhsKahaDB;
1694                lhsKahaDB = this.getKahaDB();
1695                DtoKahaDB rhsKahaDB;
1696                rhsKahaDB = that.getKahaDB();
1697                if (!strategy.equals(LocatorUtils.property(thisLocator, "kahaDB", lhsKahaDB), LocatorUtils.property(thatLocator, "kahaDB", rhsKahaDB), lhsKahaDB, rhsKahaDB)) {
1698                    return false;
1699                }
1700            }
1701            {
1702                DtoLevelDB lhsLevelDB;
1703                lhsLevelDB = this.getLevelDB();
1704                DtoLevelDB rhsLevelDB;
1705                rhsLevelDB = that.getLevelDB();
1706                if (!strategy.equals(LocatorUtils.property(thisLocator, "levelDB", lhsLevelDB), LocatorUtils.property(thatLocator, "levelDB", rhsLevelDB), lhsLevelDB, rhsLevelDB)) {
1707                    return false;
1708                }
1709            }
1710            {
1711                DtoMKahaDB lhsMKahaDB;
1712                lhsMKahaDB = this.getMKahaDB();
1713                DtoMKahaDB rhsMKahaDB;
1714                rhsMKahaDB = that.getMKahaDB();
1715                if (!strategy.equals(LocatorUtils.property(thisLocator, "mKahaDB", lhsMKahaDB), LocatorUtils.property(thatLocator, "mKahaDB", rhsMKahaDB), lhsMKahaDB, rhsMKahaDB)) {
1716                    return false;
1717                }
1718            }
1719            {
1720                DtoMemoryPersistenceAdapter lhsMemoryPersistenceAdapter;
1721                lhsMemoryPersistenceAdapter = this.getMemoryPersistenceAdapter();
1722                DtoMemoryPersistenceAdapter rhsMemoryPersistenceAdapter;
1723                rhsMemoryPersistenceAdapter = that.getMemoryPersistenceAdapter();
1724                if (!strategy.equals(LocatorUtils.property(thisLocator, "memoryPersistenceAdapter", lhsMemoryPersistenceAdapter), LocatorUtils.property(thatLocator, "memoryPersistenceAdapter", rhsMemoryPersistenceAdapter), lhsMemoryPersistenceAdapter, rhsMemoryPersistenceAdapter)) {
1725                    return false;
1726                }
1727            }
1728            {
1729                DtoReplicatedLevelDB lhsReplicatedLevelDB;
1730                lhsReplicatedLevelDB = this.getReplicatedLevelDB();
1731                DtoReplicatedLevelDB rhsReplicatedLevelDB;
1732                rhsReplicatedLevelDB = that.getReplicatedLevelDB();
1733                if (!strategy.equals(LocatorUtils.property(thisLocator, "replicatedLevelDB", lhsReplicatedLevelDB), LocatorUtils.property(thatLocator, "replicatedLevelDB", rhsReplicatedLevelDB), lhsReplicatedLevelDB, rhsReplicatedLevelDB)) {
1734                    return false;
1735                }
1736            }
1737            {
1738                Object lhsAny;
1739                lhsAny = this.getAny();
1740                Object rhsAny;
1741                rhsAny = that.getAny();
1742                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1743                    return false;
1744                }
1745            }
1746            return true;
1747        }
1748
1749        public boolean equals(Object object) {
1750            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1751            return equals(null, null, object, strategy);
1752        }
1753
1754    }
1755
1756}