001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2019.12.02 at 07:37:45 AM EST 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.math.BigInteger;
012import java.util.ArrayList;
013import java.util.HashMap;
014import java.util.List;
015import java.util.Map;
016import javax.xml.bind.JAXBElement;
017import javax.xml.bind.annotation.XmlAccessType;
018import javax.xml.bind.annotation.XmlAccessorType;
019import javax.xml.bind.annotation.XmlAnyAttribute;
020import javax.xml.bind.annotation.XmlAnyElement;
021import javax.xml.bind.annotation.XmlAttribute;
022import javax.xml.bind.annotation.XmlElementRef;
023import javax.xml.bind.annotation.XmlElementRefs;
024import javax.xml.bind.annotation.XmlID;
025import javax.xml.bind.annotation.XmlRootElement;
026import javax.xml.bind.annotation.XmlSchemaType;
027import javax.xml.bind.annotation.XmlType;
028import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
029import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
030import javax.xml.namespace.QName;
031import org.jvnet.jaxb2_commons.lang.Equals;
032import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
033import org.jvnet.jaxb2_commons.lang.HashCode;
034import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
035import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
036import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
037import org.jvnet.jaxb2_commons.lang.ToString;
038import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
039import org.jvnet.jaxb2_commons.locator.ObjectLocator;
040import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
041
042
043/**
044 * <p>Java class for anonymous complex type.
045 * 
046 * <p>The following schema fragment specifies the expected content contained within this class.
047 * 
048 * <pre>
049 * &lt;complexType>
050 *   &lt;complexContent>
051 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
052 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
053 *         &lt;choice>
054 *           &lt;element name="dataSource" 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="lockable" 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}jdbcPersistenceAdapter"/>
071 *                     &lt;element ref="{http://activemq.apache.org/schema/core}journalPersistenceAdapterFactory"/>
072 *                     &lt;element ref="{http://activemq.apache.org/schema/core}journaledJDBC"/>
073 *                     &lt;element ref="{http://activemq.apache.org/schema/core}kahaDB"/>
074 *                     &lt;element ref="{http://activemq.apache.org/schema/core}levelDB"/>
075 *                     &lt;element ref="{http://activemq.apache.org/schema/core}mKahaDB"/>
076 *                     &lt;element ref="{http://activemq.apache.org/schema/core}replicatedLevelDB"/>
077 *                     &lt;any namespace='##other'/>
078 *                   &lt;/choice>
079 *                 &lt;/restriction>
080 *               &lt;/complexContent>
081 *             &lt;/complexType>
082 *           &lt;/element>
083 *           &lt;element name="statements" minOccurs="0">
084 *             &lt;complexType>
085 *               &lt;complexContent>
086 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
087 *                   &lt;choice minOccurs="0">
088 *                     &lt;element ref="{http://activemq.apache.org/schema/core}statements"/>
089 *                     &lt;any namespace='##other'/>
090 *                   &lt;/choice>
091 *                 &lt;/restriction>
092 *               &lt;/complexContent>
093 *             &lt;/complexType>
094 *           &lt;/element>
095 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
096 *         &lt;/choice>
097 *       &lt;/choice>
098 *       &lt;attribute name="createTablesOnStartup" type="{http://www.w3.org/2001/XMLSchema}boolean" />
099 *       &lt;attribute name="dataSource" type="{http://www.w3.org/2001/XMLSchema}string" />
100 *       &lt;attribute name="failIfLocked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
101 *       &lt;attribute name="handleStartException" type="{http://www.w3.org/2001/XMLSchema}boolean" />
102 *       &lt;attribute name="leaseHolderId" type="{http://www.w3.org/2001/XMLSchema}string" />
103 *       &lt;attribute name="lockAcquireSleepInterval" type="{http://www.w3.org/2001/XMLSchema}long" />
104 *       &lt;attribute name="lockable" type="{http://www.w3.org/2001/XMLSchema}string" />
105 *       &lt;attribute name="maxAllowableDiffFromDBTime" type="{http://www.w3.org/2001/XMLSchema}integer" />
106 *       &lt;attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
107 *       &lt;attribute name="queryTimeout" type="{http://www.w3.org/2001/XMLSchema}integer" />
108 *       &lt;attribute name="statements" type="{http://www.w3.org/2001/XMLSchema}string" />
109 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
110 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
111 *     &lt;/restriction>
112 *   &lt;/complexContent>
113 * &lt;/complexType>
114 * </pre>
115 * 
116 * 
117 */
118@XmlAccessorType(XmlAccessType.FIELD)
119@XmlType(name = "", propOrder = {
120    "dataSourceOrLockableOrStatements"
121})
122@XmlRootElement(name = "lease-database-locker")
123public class DtoLeaseDatabaseLocker implements Equals, HashCode, ToString
124{
125
126    @XmlElementRefs({
127        @XmlElementRef(name = "dataSource", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
128        @XmlElementRef(name = "statements", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false),
129        @XmlElementRef(name = "lockable", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
130    })
131    @XmlAnyElement(lax = true)
132    protected List<Object> dataSourceOrLockableOrStatements;
133    @XmlAttribute(name = "createTablesOnStartup")
134    protected Boolean createTablesOnStartup;
135    @XmlAttribute(name = "dataSource")
136    protected String dataSource;
137    @XmlAttribute(name = "failIfLocked")
138    protected Boolean failIfLocked;
139    @XmlAttribute(name = "handleStartException")
140    protected Boolean handleStartException;
141    @XmlAttribute(name = "leaseHolderId")
142    protected String leaseHolderId;
143    @XmlAttribute(name = "lockAcquireSleepInterval")
144    protected Long lockAcquireSleepInterval;
145    @XmlAttribute(name = "lockable")
146    protected String lockable;
147    @XmlAttribute(name = "maxAllowableDiffFromDBTime")
148    protected BigInteger maxAllowableDiffFromDBTime;
149    @XmlAttribute(name = "name")
150    protected String name;
151    @XmlAttribute(name = "queryTimeout")
152    protected BigInteger queryTimeout;
153    @XmlAttribute(name = "statements")
154    protected String statements;
155    @XmlAttribute(name = "id")
156    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
157    @XmlID
158    @XmlSchemaType(name = "ID")
159    protected String id;
160    @XmlAnyAttribute
161    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
162
163    /**
164     * Gets the value of the dataSourceOrLockableOrStatements property.
165     * 
166     * <p>
167     * This accessor method returns a reference to the live list,
168     * not a snapshot. Therefore any modification you make to the
169     * returned list will be present inside the JAXB object.
170     * This is why there is not a <CODE>set</CODE> method for the dataSourceOrLockableOrStatements property.
171     * 
172     * <p>
173     * For example, to add a new item, do as follows:
174     * <pre>
175     *    getDataSourceOrLockableOrStatements().add(newItem);
176     * </pre>
177     * 
178     * 
179     * <p>
180     * Objects of the following type(s) are allowed in the list
181     * {@link JAXBElement }{@code <}{@link DtoLeaseDatabaseLocker.Lockable }{@code >}
182     * {@link JAXBElement }{@code <}{@link DtoLeaseDatabaseLocker.Statements }{@code >}
183     * {@link JAXBElement }{@code <}{@link DtoLeaseDatabaseLocker.DataSource }{@code >}
184     * {@link Object }
185     * 
186     * 
187     */
188    public List<Object> getDataSourceOrLockableOrStatements() {
189        if (dataSourceOrLockableOrStatements == null) {
190            dataSourceOrLockableOrStatements = new ArrayList<Object>();
191        }
192        return this.dataSourceOrLockableOrStatements;
193    }
194
195    /**
196     * Gets the value of the createTablesOnStartup property.
197     * 
198     * @return
199     *     possible object is
200     *     {@link Boolean }
201     *     
202     */
203    public Boolean isCreateTablesOnStartup() {
204        return createTablesOnStartup;
205    }
206
207    /**
208     * Sets the value of the createTablesOnStartup property.
209     * 
210     * @param value
211     *     allowed object is
212     *     {@link Boolean }
213     *     
214     */
215    public void setCreateTablesOnStartup(Boolean value) {
216        this.createTablesOnStartup = value;
217    }
218
219    /**
220     * Gets the value of the dataSource property.
221     * 
222     * @return
223     *     possible object is
224     *     {@link String }
225     *     
226     */
227    public String getDataSource() {
228        return dataSource;
229    }
230
231    /**
232     * Sets the value of the dataSource property.
233     * 
234     * @param value
235     *     allowed object is
236     *     {@link String }
237     *     
238     */
239    public void setDataSource(String value) {
240        this.dataSource = value;
241    }
242
243    /**
244     * Gets the value of the failIfLocked property.
245     * 
246     * @return
247     *     possible object is
248     *     {@link Boolean }
249     *     
250     */
251    public Boolean isFailIfLocked() {
252        return failIfLocked;
253    }
254
255    /**
256     * Sets the value of the failIfLocked property.
257     * 
258     * @param value
259     *     allowed object is
260     *     {@link Boolean }
261     *     
262     */
263    public void setFailIfLocked(Boolean value) {
264        this.failIfLocked = value;
265    }
266
267    /**
268     * Gets the value of the handleStartException property.
269     * 
270     * @return
271     *     possible object is
272     *     {@link Boolean }
273     *     
274     */
275    public Boolean isHandleStartException() {
276        return handleStartException;
277    }
278
279    /**
280     * Sets the value of the handleStartException property.
281     * 
282     * @param value
283     *     allowed object is
284     *     {@link Boolean }
285     *     
286     */
287    public void setHandleStartException(Boolean value) {
288        this.handleStartException = value;
289    }
290
291    /**
292     * Gets the value of the leaseHolderId property.
293     * 
294     * @return
295     *     possible object is
296     *     {@link String }
297     *     
298     */
299    public String getLeaseHolderId() {
300        return leaseHolderId;
301    }
302
303    /**
304     * Sets the value of the leaseHolderId property.
305     * 
306     * @param value
307     *     allowed object is
308     *     {@link String }
309     *     
310     */
311    public void setLeaseHolderId(String value) {
312        this.leaseHolderId = value;
313    }
314
315    /**
316     * Gets the value of the lockAcquireSleepInterval property.
317     * 
318     * @return
319     *     possible object is
320     *     {@link Long }
321     *     
322     */
323    public Long getLockAcquireSleepInterval() {
324        return lockAcquireSleepInterval;
325    }
326
327    /**
328     * Sets the value of the lockAcquireSleepInterval property.
329     * 
330     * @param value
331     *     allowed object is
332     *     {@link Long }
333     *     
334     */
335    public void setLockAcquireSleepInterval(Long value) {
336        this.lockAcquireSleepInterval = value;
337    }
338
339    /**
340     * Gets the value of the lockable property.
341     * 
342     * @return
343     *     possible object is
344     *     {@link String }
345     *     
346     */
347    public String getLockable() {
348        return lockable;
349    }
350
351    /**
352     * Sets the value of the lockable property.
353     * 
354     * @param value
355     *     allowed object is
356     *     {@link String }
357     *     
358     */
359    public void setLockable(String value) {
360        this.lockable = value;
361    }
362
363    /**
364     * Gets the value of the maxAllowableDiffFromDBTime property.
365     * 
366     * @return
367     *     possible object is
368     *     {@link BigInteger }
369     *     
370     */
371    public BigInteger getMaxAllowableDiffFromDBTime() {
372        return maxAllowableDiffFromDBTime;
373    }
374
375    /**
376     * Sets the value of the maxAllowableDiffFromDBTime property.
377     * 
378     * @param value
379     *     allowed object is
380     *     {@link BigInteger }
381     *     
382     */
383    public void setMaxAllowableDiffFromDBTime(BigInteger value) {
384        this.maxAllowableDiffFromDBTime = value;
385    }
386
387    /**
388     * Gets the value of the name property.
389     * 
390     * @return
391     *     possible object is
392     *     {@link String }
393     *     
394     */
395    public String getName() {
396        return name;
397    }
398
399    /**
400     * Sets the value of the name property.
401     * 
402     * @param value
403     *     allowed object is
404     *     {@link String }
405     *     
406     */
407    public void setName(String value) {
408        this.name = value;
409    }
410
411    /**
412     * Gets the value of the queryTimeout property.
413     * 
414     * @return
415     *     possible object is
416     *     {@link BigInteger }
417     *     
418     */
419    public BigInteger getQueryTimeout() {
420        return queryTimeout;
421    }
422
423    /**
424     * Sets the value of the queryTimeout property.
425     * 
426     * @param value
427     *     allowed object is
428     *     {@link BigInteger }
429     *     
430     */
431    public void setQueryTimeout(BigInteger value) {
432        this.queryTimeout = value;
433    }
434
435    /**
436     * Gets the value of the statements property.
437     * 
438     * @return
439     *     possible object is
440     *     {@link String }
441     *     
442     */
443    public String getStatements() {
444        return statements;
445    }
446
447    /**
448     * Sets the value of the statements property.
449     * 
450     * @param value
451     *     allowed object is
452     *     {@link String }
453     *     
454     */
455    public void setStatements(String value) {
456        this.statements = value;
457    }
458
459    /**
460     * Gets the value of the id property.
461     * 
462     * @return
463     *     possible object is
464     *     {@link String }
465     *     
466     */
467    public String getId() {
468        return id;
469    }
470
471    /**
472     * Sets the value of the id property.
473     * 
474     * @param value
475     *     allowed object is
476     *     {@link String }
477     *     
478     */
479    public void setId(String value) {
480        this.id = value;
481    }
482
483    /**
484     * Gets a map that contains attributes that aren't bound to any typed property on this class.
485     * 
486     * <p>
487     * the map is keyed by the name of the attribute and 
488     * the value is the string value of the attribute.
489     * 
490     * the map returned by this method is live, and you can add new attribute
491     * by updating the map directly. Because of this design, there's no setter.
492     * 
493     * 
494     * @return
495     *     always non-null
496     */
497    public Map<QName, String> getOtherAttributes() {
498        return otherAttributes;
499    }
500
501    public String toString() {
502        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
503        final StringBuilder buffer = new StringBuilder();
504        append(null, buffer, strategy);
505        return buffer.toString();
506    }
507
508    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
509        strategy.appendStart(locator, this, buffer);
510        appendFields(locator, buffer, strategy);
511        strategy.appendEnd(locator, this, buffer);
512        return buffer;
513    }
514
515    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
516        {
517            List<Object> theDataSourceOrLockableOrStatements;
518            theDataSourceOrLockableOrStatements = (((this.dataSourceOrLockableOrStatements!= null)&&(!this.dataSourceOrLockableOrStatements.isEmpty()))?this.getDataSourceOrLockableOrStatements():null);
519            strategy.appendField(locator, this, "dataSourceOrLockableOrStatements", buffer, theDataSourceOrLockableOrStatements);
520        }
521        {
522            Boolean theCreateTablesOnStartup;
523            theCreateTablesOnStartup = this.isCreateTablesOnStartup();
524            strategy.appendField(locator, this, "createTablesOnStartup", buffer, theCreateTablesOnStartup);
525        }
526        {
527            String theDataSource;
528            theDataSource = this.getDataSource();
529            strategy.appendField(locator, this, "dataSource", buffer, theDataSource);
530        }
531        {
532            Boolean theFailIfLocked;
533            theFailIfLocked = this.isFailIfLocked();
534            strategy.appendField(locator, this, "failIfLocked", buffer, theFailIfLocked);
535        }
536        {
537            Boolean theHandleStartException;
538            theHandleStartException = this.isHandleStartException();
539            strategy.appendField(locator, this, "handleStartException", buffer, theHandleStartException);
540        }
541        {
542            String theLeaseHolderId;
543            theLeaseHolderId = this.getLeaseHolderId();
544            strategy.appendField(locator, this, "leaseHolderId", buffer, theLeaseHolderId);
545        }
546        {
547            Long theLockAcquireSleepInterval;
548            theLockAcquireSleepInterval = this.getLockAcquireSleepInterval();
549            strategy.appendField(locator, this, "lockAcquireSleepInterval", buffer, theLockAcquireSleepInterval);
550        }
551        {
552            String theLockable;
553            theLockable = this.getLockable();
554            strategy.appendField(locator, this, "lockable", buffer, theLockable);
555        }
556        {
557            BigInteger theMaxAllowableDiffFromDBTime;
558            theMaxAllowableDiffFromDBTime = this.getMaxAllowableDiffFromDBTime();
559            strategy.appendField(locator, this, "maxAllowableDiffFromDBTime", buffer, theMaxAllowableDiffFromDBTime);
560        }
561        {
562            String theName;
563            theName = this.getName();
564            strategy.appendField(locator, this, "name", buffer, theName);
565        }
566        {
567            BigInteger theQueryTimeout;
568            theQueryTimeout = this.getQueryTimeout();
569            strategy.appendField(locator, this, "queryTimeout", buffer, theQueryTimeout);
570        }
571        {
572            String theStatements;
573            theStatements = this.getStatements();
574            strategy.appendField(locator, this, "statements", buffer, theStatements);
575        }
576        {
577            String theId;
578            theId = this.getId();
579            strategy.appendField(locator, this, "id", buffer, theId);
580        }
581        return buffer;
582    }
583
584    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
585        int currentHashCode = 1;
586        {
587            List<Object> theDataSourceOrLockableOrStatements;
588            theDataSourceOrLockableOrStatements = (((this.dataSourceOrLockableOrStatements!= null)&&(!this.dataSourceOrLockableOrStatements.isEmpty()))?this.getDataSourceOrLockableOrStatements():null);
589            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataSourceOrLockableOrStatements", theDataSourceOrLockableOrStatements), currentHashCode, theDataSourceOrLockableOrStatements);
590        }
591        {
592            Boolean theCreateTablesOnStartup;
593            theCreateTablesOnStartup = this.isCreateTablesOnStartup();
594            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "createTablesOnStartup", theCreateTablesOnStartup), currentHashCode, theCreateTablesOnStartup);
595        }
596        {
597            String theDataSource;
598            theDataSource = this.getDataSource();
599            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dataSource", theDataSource), currentHashCode, theDataSource);
600        }
601        {
602            Boolean theFailIfLocked;
603            theFailIfLocked = this.isFailIfLocked();
604            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "failIfLocked", theFailIfLocked), currentHashCode, theFailIfLocked);
605        }
606        {
607            Boolean theHandleStartException;
608            theHandleStartException = this.isHandleStartException();
609            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "handleStartException", theHandleStartException), currentHashCode, theHandleStartException);
610        }
611        {
612            String theLeaseHolderId;
613            theLeaseHolderId = this.getLeaseHolderId();
614            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "leaseHolderId", theLeaseHolderId), currentHashCode, theLeaseHolderId);
615        }
616        {
617            Long theLockAcquireSleepInterval;
618            theLockAcquireSleepInterval = this.getLockAcquireSleepInterval();
619            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lockAcquireSleepInterval", theLockAcquireSleepInterval), currentHashCode, theLockAcquireSleepInterval);
620        }
621        {
622            String theLockable;
623            theLockable = this.getLockable();
624            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lockable", theLockable), currentHashCode, theLockable);
625        }
626        {
627            BigInteger theMaxAllowableDiffFromDBTime;
628            theMaxAllowableDiffFromDBTime = this.getMaxAllowableDiffFromDBTime();
629            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "maxAllowableDiffFromDBTime", theMaxAllowableDiffFromDBTime), currentHashCode, theMaxAllowableDiffFromDBTime);
630        }
631        {
632            String theName;
633            theName = this.getName();
634            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "name", theName), currentHashCode, theName);
635        }
636        {
637            BigInteger theQueryTimeout;
638            theQueryTimeout = this.getQueryTimeout();
639            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "queryTimeout", theQueryTimeout), currentHashCode, theQueryTimeout);
640        }
641        {
642            String theStatements;
643            theStatements = this.getStatements();
644            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "statements", theStatements), currentHashCode, theStatements);
645        }
646        {
647            String theId;
648            theId = this.getId();
649            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
650        }
651        return currentHashCode;
652    }
653
654    public int hashCode() {
655        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
656        return this.hashCode(null, strategy);
657    }
658
659    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
660        if (!(object instanceof DtoLeaseDatabaseLocker)) {
661            return false;
662        }
663        if (this == object) {
664            return true;
665        }
666        final DtoLeaseDatabaseLocker that = ((DtoLeaseDatabaseLocker) object);
667        {
668            List<Object> lhsDataSourceOrLockableOrStatements;
669            lhsDataSourceOrLockableOrStatements = (((this.dataSourceOrLockableOrStatements!= null)&&(!this.dataSourceOrLockableOrStatements.isEmpty()))?this.getDataSourceOrLockableOrStatements():null);
670            List<Object> rhsDataSourceOrLockableOrStatements;
671            rhsDataSourceOrLockableOrStatements = (((that.dataSourceOrLockableOrStatements!= null)&&(!that.dataSourceOrLockableOrStatements.isEmpty()))?that.getDataSourceOrLockableOrStatements():null);
672            if (!strategy.equals(LocatorUtils.property(thisLocator, "dataSourceOrLockableOrStatements", lhsDataSourceOrLockableOrStatements), LocatorUtils.property(thatLocator, "dataSourceOrLockableOrStatements", rhsDataSourceOrLockableOrStatements), lhsDataSourceOrLockableOrStatements, rhsDataSourceOrLockableOrStatements)) {
673                return false;
674            }
675        }
676        {
677            Boolean lhsCreateTablesOnStartup;
678            lhsCreateTablesOnStartup = this.isCreateTablesOnStartup();
679            Boolean rhsCreateTablesOnStartup;
680            rhsCreateTablesOnStartup = that.isCreateTablesOnStartup();
681            if (!strategy.equals(LocatorUtils.property(thisLocator, "createTablesOnStartup", lhsCreateTablesOnStartup), LocatorUtils.property(thatLocator, "createTablesOnStartup", rhsCreateTablesOnStartup), lhsCreateTablesOnStartup, rhsCreateTablesOnStartup)) {
682                return false;
683            }
684        }
685        {
686            String lhsDataSource;
687            lhsDataSource = this.getDataSource();
688            String rhsDataSource;
689            rhsDataSource = that.getDataSource();
690            if (!strategy.equals(LocatorUtils.property(thisLocator, "dataSource", lhsDataSource), LocatorUtils.property(thatLocator, "dataSource", rhsDataSource), lhsDataSource, rhsDataSource)) {
691                return false;
692            }
693        }
694        {
695            Boolean lhsFailIfLocked;
696            lhsFailIfLocked = this.isFailIfLocked();
697            Boolean rhsFailIfLocked;
698            rhsFailIfLocked = that.isFailIfLocked();
699            if (!strategy.equals(LocatorUtils.property(thisLocator, "failIfLocked", lhsFailIfLocked), LocatorUtils.property(thatLocator, "failIfLocked", rhsFailIfLocked), lhsFailIfLocked, rhsFailIfLocked)) {
700                return false;
701            }
702        }
703        {
704            Boolean lhsHandleStartException;
705            lhsHandleStartException = this.isHandleStartException();
706            Boolean rhsHandleStartException;
707            rhsHandleStartException = that.isHandleStartException();
708            if (!strategy.equals(LocatorUtils.property(thisLocator, "handleStartException", lhsHandleStartException), LocatorUtils.property(thatLocator, "handleStartException", rhsHandleStartException), lhsHandleStartException, rhsHandleStartException)) {
709                return false;
710            }
711        }
712        {
713            String lhsLeaseHolderId;
714            lhsLeaseHolderId = this.getLeaseHolderId();
715            String rhsLeaseHolderId;
716            rhsLeaseHolderId = that.getLeaseHolderId();
717            if (!strategy.equals(LocatorUtils.property(thisLocator, "leaseHolderId", lhsLeaseHolderId), LocatorUtils.property(thatLocator, "leaseHolderId", rhsLeaseHolderId), lhsLeaseHolderId, rhsLeaseHolderId)) {
718                return false;
719            }
720        }
721        {
722            Long lhsLockAcquireSleepInterval;
723            lhsLockAcquireSleepInterval = this.getLockAcquireSleepInterval();
724            Long rhsLockAcquireSleepInterval;
725            rhsLockAcquireSleepInterval = that.getLockAcquireSleepInterval();
726            if (!strategy.equals(LocatorUtils.property(thisLocator, "lockAcquireSleepInterval", lhsLockAcquireSleepInterval), LocatorUtils.property(thatLocator, "lockAcquireSleepInterval", rhsLockAcquireSleepInterval), lhsLockAcquireSleepInterval, rhsLockAcquireSleepInterval)) {
727                return false;
728            }
729        }
730        {
731            String lhsLockable;
732            lhsLockable = this.getLockable();
733            String rhsLockable;
734            rhsLockable = that.getLockable();
735            if (!strategy.equals(LocatorUtils.property(thisLocator, "lockable", lhsLockable), LocatorUtils.property(thatLocator, "lockable", rhsLockable), lhsLockable, rhsLockable)) {
736                return false;
737            }
738        }
739        {
740            BigInteger lhsMaxAllowableDiffFromDBTime;
741            lhsMaxAllowableDiffFromDBTime = this.getMaxAllowableDiffFromDBTime();
742            BigInteger rhsMaxAllowableDiffFromDBTime;
743            rhsMaxAllowableDiffFromDBTime = that.getMaxAllowableDiffFromDBTime();
744            if (!strategy.equals(LocatorUtils.property(thisLocator, "maxAllowableDiffFromDBTime", lhsMaxAllowableDiffFromDBTime), LocatorUtils.property(thatLocator, "maxAllowableDiffFromDBTime", rhsMaxAllowableDiffFromDBTime), lhsMaxAllowableDiffFromDBTime, rhsMaxAllowableDiffFromDBTime)) {
745                return false;
746            }
747        }
748        {
749            String lhsName;
750            lhsName = this.getName();
751            String rhsName;
752            rhsName = that.getName();
753            if (!strategy.equals(LocatorUtils.property(thisLocator, "name", lhsName), LocatorUtils.property(thatLocator, "name", rhsName), lhsName, rhsName)) {
754                return false;
755            }
756        }
757        {
758            BigInteger lhsQueryTimeout;
759            lhsQueryTimeout = this.getQueryTimeout();
760            BigInteger rhsQueryTimeout;
761            rhsQueryTimeout = that.getQueryTimeout();
762            if (!strategy.equals(LocatorUtils.property(thisLocator, "queryTimeout", lhsQueryTimeout), LocatorUtils.property(thatLocator, "queryTimeout", rhsQueryTimeout), lhsQueryTimeout, rhsQueryTimeout)) {
763                return false;
764            }
765        }
766        {
767            String lhsStatements;
768            lhsStatements = this.getStatements();
769            String rhsStatements;
770            rhsStatements = that.getStatements();
771            if (!strategy.equals(LocatorUtils.property(thisLocator, "statements", lhsStatements), LocatorUtils.property(thatLocator, "statements", rhsStatements), lhsStatements, rhsStatements)) {
772                return false;
773            }
774        }
775        {
776            String lhsId;
777            lhsId = this.getId();
778            String rhsId;
779            rhsId = that.getId();
780            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
781                return false;
782            }
783        }
784        return true;
785    }
786
787    public boolean equals(Object object) {
788        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
789        return equals(null, null, object, strategy);
790    }
791
792
793    /**
794     * <p>Java class for anonymous complex type.
795     * 
796     * <p>The following schema fragment specifies the expected content contained within this class.
797     * 
798     * <pre>
799     * &lt;complexType>
800     *   &lt;complexContent>
801     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
802     *       &lt;sequence minOccurs="0">
803     *         &lt;any maxOccurs="unbounded" minOccurs="0"/>
804     *       &lt;/sequence>
805     *     &lt;/restriction>
806     *   &lt;/complexContent>
807     * &lt;/complexType>
808     * </pre>
809     * 
810     * 
811     */
812    @XmlAccessorType(XmlAccessType.FIELD)
813    @XmlType(name = "", propOrder = {
814        "any"
815    })
816    public static class DataSource
817        implements Equals, HashCode, ToString
818    {
819
820        @XmlAnyElement(lax = true)
821        protected List<Object> any;
822
823        /**
824         * Gets the value of the any property.
825         * 
826         * <p>
827         * This accessor method returns a reference to the live list,
828         * not a snapshot. Therefore any modification you make to the
829         * returned list will be present inside the JAXB object.
830         * This is why there is not a <CODE>set</CODE> method for the any property.
831         * 
832         * <p>
833         * For example, to add a new item, do as follows:
834         * <pre>
835         *    getAny().add(newItem);
836         * </pre>
837         * 
838         * 
839         * <p>
840         * Objects of the following type(s) are allowed in the list
841         * {@link Object }
842         * 
843         * 
844         */
845        public List<Object> getAny() {
846            if (any == null) {
847                any = new ArrayList<Object>();
848            }
849            return this.any;
850        }
851
852        public String toString() {
853            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
854            final StringBuilder buffer = new StringBuilder();
855            append(null, buffer, strategy);
856            return buffer.toString();
857        }
858
859        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
860            strategy.appendStart(locator, this, buffer);
861            appendFields(locator, buffer, strategy);
862            strategy.appendEnd(locator, this, buffer);
863            return buffer;
864        }
865
866        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
867            {
868                List<Object> theAny;
869                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
870                strategy.appendField(locator, this, "any", buffer, theAny);
871            }
872            return buffer;
873        }
874
875        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
876            int currentHashCode = 1;
877            {
878                List<Object> theAny;
879                theAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
880                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
881            }
882            return currentHashCode;
883        }
884
885        public int hashCode() {
886            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
887            return this.hashCode(null, strategy);
888        }
889
890        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
891            if (!(object instanceof DtoLeaseDatabaseLocker.DataSource)) {
892                return false;
893            }
894            if (this == object) {
895                return true;
896            }
897            final DtoLeaseDatabaseLocker.DataSource that = ((DtoLeaseDatabaseLocker.DataSource) object);
898            {
899                List<Object> lhsAny;
900                lhsAny = (((this.any!= null)&&(!this.any.isEmpty()))?this.getAny():null);
901                List<Object> rhsAny;
902                rhsAny = (((that.any!= null)&&(!that.any.isEmpty()))?that.getAny():null);
903                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
904                    return false;
905                }
906            }
907            return true;
908        }
909
910        public boolean equals(Object object) {
911            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
912            return equals(null, null, object, strategy);
913        }
914
915    }
916
917
918    /**
919     * <p>Java class for anonymous complex type.
920     * 
921     * <p>The following schema fragment specifies the expected content contained within this class.
922     * 
923     * <pre>
924     * &lt;complexType>
925     *   &lt;complexContent>
926     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
927     *       &lt;choice minOccurs="0">
928     *         &lt;element ref="{http://activemq.apache.org/schema/core}jdbcPersistenceAdapter"/>
929     *         &lt;element ref="{http://activemq.apache.org/schema/core}journalPersistenceAdapterFactory"/>
930     *         &lt;element ref="{http://activemq.apache.org/schema/core}journaledJDBC"/>
931     *         &lt;element ref="{http://activemq.apache.org/schema/core}kahaDB"/>
932     *         &lt;element ref="{http://activemq.apache.org/schema/core}levelDB"/>
933     *         &lt;element ref="{http://activemq.apache.org/schema/core}mKahaDB"/>
934     *         &lt;element ref="{http://activemq.apache.org/schema/core}replicatedLevelDB"/>
935     *         &lt;any namespace='##other'/>
936     *       &lt;/choice>
937     *     &lt;/restriction>
938     *   &lt;/complexContent>
939     * &lt;/complexType>
940     * </pre>
941     * 
942     * 
943     */
944    @XmlAccessorType(XmlAccessType.FIELD)
945    @XmlType(name = "", propOrder = {
946        "jdbcPersistenceAdapter",
947        "journalPersistenceAdapterFactory",
948        "journaledJDBC",
949        "kahaDB",
950        "levelDB",
951        "mKahaDB",
952        "replicatedLevelDB",
953        "any"
954    })
955    public static class Lockable
956        implements Equals, HashCode, ToString
957    {
958
959        protected DtoJdbcPersistenceAdapter jdbcPersistenceAdapter;
960        protected DtoJournalPersistenceAdapterFactory journalPersistenceAdapterFactory;
961        protected DtoJournaledJDBC journaledJDBC;
962        protected DtoKahaDB kahaDB;
963        protected DtoLevelDB levelDB;
964        protected DtoMKahaDB mKahaDB;
965        protected DtoReplicatedLevelDB replicatedLevelDB;
966        @XmlAnyElement(lax = true)
967        protected Object any;
968
969        /**
970         * Gets the value of the jdbcPersistenceAdapter property.
971         * 
972         * @return
973         *     possible object is
974         *     {@link DtoJdbcPersistenceAdapter }
975         *     
976         */
977        public DtoJdbcPersistenceAdapter getJdbcPersistenceAdapter() {
978            return jdbcPersistenceAdapter;
979        }
980
981        /**
982         * Sets the value of the jdbcPersistenceAdapter property.
983         * 
984         * @param value
985         *     allowed object is
986         *     {@link DtoJdbcPersistenceAdapter }
987         *     
988         */
989        public void setJdbcPersistenceAdapter(DtoJdbcPersistenceAdapter value) {
990            this.jdbcPersistenceAdapter = value;
991        }
992
993        /**
994         * Gets the value of the journalPersistenceAdapterFactory property.
995         * 
996         * @return
997         *     possible object is
998         *     {@link DtoJournalPersistenceAdapterFactory }
999         *     
1000         */
1001        public DtoJournalPersistenceAdapterFactory getJournalPersistenceAdapterFactory() {
1002            return journalPersistenceAdapterFactory;
1003        }
1004
1005        /**
1006         * Sets the value of the journalPersistenceAdapterFactory property.
1007         * 
1008         * @param value
1009         *     allowed object is
1010         *     {@link DtoJournalPersistenceAdapterFactory }
1011         *     
1012         */
1013        public void setJournalPersistenceAdapterFactory(DtoJournalPersistenceAdapterFactory value) {
1014            this.journalPersistenceAdapterFactory = value;
1015        }
1016
1017        /**
1018         * Gets the value of the journaledJDBC property.
1019         * 
1020         * @return
1021         *     possible object is
1022         *     {@link DtoJournaledJDBC }
1023         *     
1024         */
1025        public DtoJournaledJDBC getJournaledJDBC() {
1026            return journaledJDBC;
1027        }
1028
1029        /**
1030         * Sets the value of the journaledJDBC property.
1031         * 
1032         * @param value
1033         *     allowed object is
1034         *     {@link DtoJournaledJDBC }
1035         *     
1036         */
1037        public void setJournaledJDBC(DtoJournaledJDBC value) {
1038            this.journaledJDBC = value;
1039        }
1040
1041        /**
1042         * Gets the value of the kahaDB property.
1043         * 
1044         * @return
1045         *     possible object is
1046         *     {@link DtoKahaDB }
1047         *     
1048         */
1049        public DtoKahaDB getKahaDB() {
1050            return kahaDB;
1051        }
1052
1053        /**
1054         * Sets the value of the kahaDB property.
1055         * 
1056         * @param value
1057         *     allowed object is
1058         *     {@link DtoKahaDB }
1059         *     
1060         */
1061        public void setKahaDB(DtoKahaDB value) {
1062            this.kahaDB = value;
1063        }
1064
1065        /**
1066         * Gets the value of the levelDB property.
1067         * 
1068         * @return
1069         *     possible object is
1070         *     {@link DtoLevelDB }
1071         *     
1072         */
1073        public DtoLevelDB getLevelDB() {
1074            return levelDB;
1075        }
1076
1077        /**
1078         * Sets the value of the levelDB property.
1079         * 
1080         * @param value
1081         *     allowed object is
1082         *     {@link DtoLevelDB }
1083         *     
1084         */
1085        public void setLevelDB(DtoLevelDB value) {
1086            this.levelDB = value;
1087        }
1088
1089        /**
1090         * Gets the value of the mKahaDB property.
1091         * 
1092         * @return
1093         *     possible object is
1094         *     {@link DtoMKahaDB }
1095         *     
1096         */
1097        public DtoMKahaDB getMKahaDB() {
1098            return mKahaDB;
1099        }
1100
1101        /**
1102         * Sets the value of the mKahaDB property.
1103         * 
1104         * @param value
1105         *     allowed object is
1106         *     {@link DtoMKahaDB }
1107         *     
1108         */
1109        public void setMKahaDB(DtoMKahaDB value) {
1110            this.mKahaDB = value;
1111        }
1112
1113        /**
1114         * Gets the value of the replicatedLevelDB property.
1115         * 
1116         * @return
1117         *     possible object is
1118         *     {@link DtoReplicatedLevelDB }
1119         *     
1120         */
1121        public DtoReplicatedLevelDB getReplicatedLevelDB() {
1122            return replicatedLevelDB;
1123        }
1124
1125        /**
1126         * Sets the value of the replicatedLevelDB property.
1127         * 
1128         * @param value
1129         *     allowed object is
1130         *     {@link DtoReplicatedLevelDB }
1131         *     
1132         */
1133        public void setReplicatedLevelDB(DtoReplicatedLevelDB value) {
1134            this.replicatedLevelDB = value;
1135        }
1136
1137        /**
1138         * Gets the value of the any property.
1139         * 
1140         * @return
1141         *     possible object is
1142         *     {@link Object }
1143         *     
1144         */
1145        public Object getAny() {
1146            return any;
1147        }
1148
1149        /**
1150         * Sets the value of the any property.
1151         * 
1152         * @param value
1153         *     allowed object is
1154         *     {@link Object }
1155         *     
1156         */
1157        public void setAny(Object value) {
1158            this.any = value;
1159        }
1160
1161        public String toString() {
1162            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1163            final StringBuilder buffer = new StringBuilder();
1164            append(null, buffer, strategy);
1165            return buffer.toString();
1166        }
1167
1168        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1169            strategy.appendStart(locator, this, buffer);
1170            appendFields(locator, buffer, strategy);
1171            strategy.appendEnd(locator, this, buffer);
1172            return buffer;
1173        }
1174
1175        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1176            {
1177                DtoJdbcPersistenceAdapter theJdbcPersistenceAdapter;
1178                theJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1179                strategy.appendField(locator, this, "jdbcPersistenceAdapter", buffer, theJdbcPersistenceAdapter);
1180            }
1181            {
1182                DtoJournalPersistenceAdapterFactory theJournalPersistenceAdapterFactory;
1183                theJournalPersistenceAdapterFactory = this.getJournalPersistenceAdapterFactory();
1184                strategy.appendField(locator, this, "journalPersistenceAdapterFactory", buffer, theJournalPersistenceAdapterFactory);
1185            }
1186            {
1187                DtoJournaledJDBC theJournaledJDBC;
1188                theJournaledJDBC = this.getJournaledJDBC();
1189                strategy.appendField(locator, this, "journaledJDBC", buffer, theJournaledJDBC);
1190            }
1191            {
1192                DtoKahaDB theKahaDB;
1193                theKahaDB = this.getKahaDB();
1194                strategy.appendField(locator, this, "kahaDB", buffer, theKahaDB);
1195            }
1196            {
1197                DtoLevelDB theLevelDB;
1198                theLevelDB = this.getLevelDB();
1199                strategy.appendField(locator, this, "levelDB", buffer, theLevelDB);
1200            }
1201            {
1202                DtoMKahaDB theMKahaDB;
1203                theMKahaDB = this.getMKahaDB();
1204                strategy.appendField(locator, this, "mKahaDB", buffer, theMKahaDB);
1205            }
1206            {
1207                DtoReplicatedLevelDB theReplicatedLevelDB;
1208                theReplicatedLevelDB = this.getReplicatedLevelDB();
1209                strategy.appendField(locator, this, "replicatedLevelDB", buffer, theReplicatedLevelDB);
1210            }
1211            {
1212                Object theAny;
1213                theAny = this.getAny();
1214                strategy.appendField(locator, this, "any", buffer, theAny);
1215            }
1216            return buffer;
1217        }
1218
1219        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1220            int currentHashCode = 1;
1221            {
1222                DtoJdbcPersistenceAdapter theJdbcPersistenceAdapter;
1223                theJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1224                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "jdbcPersistenceAdapter", theJdbcPersistenceAdapter), currentHashCode, theJdbcPersistenceAdapter);
1225            }
1226            {
1227                DtoJournalPersistenceAdapterFactory theJournalPersistenceAdapterFactory;
1228                theJournalPersistenceAdapterFactory = this.getJournalPersistenceAdapterFactory();
1229                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "journalPersistenceAdapterFactory", theJournalPersistenceAdapterFactory), currentHashCode, theJournalPersistenceAdapterFactory);
1230            }
1231            {
1232                DtoJournaledJDBC theJournaledJDBC;
1233                theJournaledJDBC = this.getJournaledJDBC();
1234                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "journaledJDBC", theJournaledJDBC), currentHashCode, theJournaledJDBC);
1235            }
1236            {
1237                DtoKahaDB theKahaDB;
1238                theKahaDB = this.getKahaDB();
1239                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "kahaDB", theKahaDB), currentHashCode, theKahaDB);
1240            }
1241            {
1242                DtoLevelDB theLevelDB;
1243                theLevelDB = this.getLevelDB();
1244                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "levelDB", theLevelDB), currentHashCode, theLevelDB);
1245            }
1246            {
1247                DtoMKahaDB theMKahaDB;
1248                theMKahaDB = this.getMKahaDB();
1249                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "mKahaDB", theMKahaDB), currentHashCode, theMKahaDB);
1250            }
1251            {
1252                DtoReplicatedLevelDB theReplicatedLevelDB;
1253                theReplicatedLevelDB = this.getReplicatedLevelDB();
1254                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "replicatedLevelDB", theReplicatedLevelDB), currentHashCode, theReplicatedLevelDB);
1255            }
1256            {
1257                Object theAny;
1258                theAny = this.getAny();
1259                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1260            }
1261            return currentHashCode;
1262        }
1263
1264        public int hashCode() {
1265            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1266            return this.hashCode(null, strategy);
1267        }
1268
1269        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1270            if (!(object instanceof DtoLeaseDatabaseLocker.Lockable)) {
1271                return false;
1272            }
1273            if (this == object) {
1274                return true;
1275            }
1276            final DtoLeaseDatabaseLocker.Lockable that = ((DtoLeaseDatabaseLocker.Lockable) object);
1277            {
1278                DtoJdbcPersistenceAdapter lhsJdbcPersistenceAdapter;
1279                lhsJdbcPersistenceAdapter = this.getJdbcPersistenceAdapter();
1280                DtoJdbcPersistenceAdapter rhsJdbcPersistenceAdapter;
1281                rhsJdbcPersistenceAdapter = that.getJdbcPersistenceAdapter();
1282                if (!strategy.equals(LocatorUtils.property(thisLocator, "jdbcPersistenceAdapter", lhsJdbcPersistenceAdapter), LocatorUtils.property(thatLocator, "jdbcPersistenceAdapter", rhsJdbcPersistenceAdapter), lhsJdbcPersistenceAdapter, rhsJdbcPersistenceAdapter)) {
1283                    return false;
1284                }
1285            }
1286            {
1287                DtoJournalPersistenceAdapterFactory lhsJournalPersistenceAdapterFactory;
1288                lhsJournalPersistenceAdapterFactory = this.getJournalPersistenceAdapterFactory();
1289                DtoJournalPersistenceAdapterFactory rhsJournalPersistenceAdapterFactory;
1290                rhsJournalPersistenceAdapterFactory = that.getJournalPersistenceAdapterFactory();
1291                if (!strategy.equals(LocatorUtils.property(thisLocator, "journalPersistenceAdapterFactory", lhsJournalPersistenceAdapterFactory), LocatorUtils.property(thatLocator, "journalPersistenceAdapterFactory", rhsJournalPersistenceAdapterFactory), lhsJournalPersistenceAdapterFactory, rhsJournalPersistenceAdapterFactory)) {
1292                    return false;
1293                }
1294            }
1295            {
1296                DtoJournaledJDBC lhsJournaledJDBC;
1297                lhsJournaledJDBC = this.getJournaledJDBC();
1298                DtoJournaledJDBC rhsJournaledJDBC;
1299                rhsJournaledJDBC = that.getJournaledJDBC();
1300                if (!strategy.equals(LocatorUtils.property(thisLocator, "journaledJDBC", lhsJournaledJDBC), LocatorUtils.property(thatLocator, "journaledJDBC", rhsJournaledJDBC), lhsJournaledJDBC, rhsJournaledJDBC)) {
1301                    return false;
1302                }
1303            }
1304            {
1305                DtoKahaDB lhsKahaDB;
1306                lhsKahaDB = this.getKahaDB();
1307                DtoKahaDB rhsKahaDB;
1308                rhsKahaDB = that.getKahaDB();
1309                if (!strategy.equals(LocatorUtils.property(thisLocator, "kahaDB", lhsKahaDB), LocatorUtils.property(thatLocator, "kahaDB", rhsKahaDB), lhsKahaDB, rhsKahaDB)) {
1310                    return false;
1311                }
1312            }
1313            {
1314                DtoLevelDB lhsLevelDB;
1315                lhsLevelDB = this.getLevelDB();
1316                DtoLevelDB rhsLevelDB;
1317                rhsLevelDB = that.getLevelDB();
1318                if (!strategy.equals(LocatorUtils.property(thisLocator, "levelDB", lhsLevelDB), LocatorUtils.property(thatLocator, "levelDB", rhsLevelDB), lhsLevelDB, rhsLevelDB)) {
1319                    return false;
1320                }
1321            }
1322            {
1323                DtoMKahaDB lhsMKahaDB;
1324                lhsMKahaDB = this.getMKahaDB();
1325                DtoMKahaDB rhsMKahaDB;
1326                rhsMKahaDB = that.getMKahaDB();
1327                if (!strategy.equals(LocatorUtils.property(thisLocator, "mKahaDB", lhsMKahaDB), LocatorUtils.property(thatLocator, "mKahaDB", rhsMKahaDB), lhsMKahaDB, rhsMKahaDB)) {
1328                    return false;
1329                }
1330            }
1331            {
1332                DtoReplicatedLevelDB lhsReplicatedLevelDB;
1333                lhsReplicatedLevelDB = this.getReplicatedLevelDB();
1334                DtoReplicatedLevelDB rhsReplicatedLevelDB;
1335                rhsReplicatedLevelDB = that.getReplicatedLevelDB();
1336                if (!strategy.equals(LocatorUtils.property(thisLocator, "replicatedLevelDB", lhsReplicatedLevelDB), LocatorUtils.property(thatLocator, "replicatedLevelDB", rhsReplicatedLevelDB), lhsReplicatedLevelDB, rhsReplicatedLevelDB)) {
1337                    return false;
1338                }
1339            }
1340            {
1341                Object lhsAny;
1342                lhsAny = this.getAny();
1343                Object rhsAny;
1344                rhsAny = that.getAny();
1345                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1346                    return false;
1347                }
1348            }
1349            return true;
1350        }
1351
1352        public boolean equals(Object object) {
1353            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1354            return equals(null, null, object, strategy);
1355        }
1356
1357    }
1358
1359
1360    /**
1361     * <p>Java class for anonymous complex type.
1362     * 
1363     * <p>The following schema fragment specifies the expected content contained within this class.
1364     * 
1365     * <pre>
1366     * &lt;complexType>
1367     *   &lt;complexContent>
1368     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
1369     *       &lt;choice minOccurs="0">
1370     *         &lt;element ref="{http://activemq.apache.org/schema/core}statements"/>
1371     *         &lt;any namespace='##other'/>
1372     *       &lt;/choice>
1373     *     &lt;/restriction>
1374     *   &lt;/complexContent>
1375     * &lt;/complexType>
1376     * </pre>
1377     * 
1378     * 
1379     */
1380    @XmlAccessorType(XmlAccessType.FIELD)
1381    @XmlType(name = "", propOrder = {
1382        "statements",
1383        "any"
1384    })
1385    public static class Statements
1386        implements Equals, HashCode, ToString
1387    {
1388
1389        protected DtoStatements statements;
1390        @XmlAnyElement(lax = true)
1391        protected Object any;
1392
1393        /**
1394         * Gets the value of the statements property.
1395         * 
1396         * @return
1397         *     possible object is
1398         *     {@link DtoStatements }
1399         *     
1400         */
1401        public DtoStatements getStatements() {
1402            return statements;
1403        }
1404
1405        /**
1406         * Sets the value of the statements property.
1407         * 
1408         * @param value
1409         *     allowed object is
1410         *     {@link DtoStatements }
1411         *     
1412         */
1413        public void setStatements(DtoStatements value) {
1414            this.statements = value;
1415        }
1416
1417        /**
1418         * Gets the value of the any property.
1419         * 
1420         * @return
1421         *     possible object is
1422         *     {@link Object }
1423         *     
1424         */
1425        public Object getAny() {
1426            return any;
1427        }
1428
1429        /**
1430         * Sets the value of the any property.
1431         * 
1432         * @param value
1433         *     allowed object is
1434         *     {@link Object }
1435         *     
1436         */
1437        public void setAny(Object value) {
1438            this.any = value;
1439        }
1440
1441        public String toString() {
1442            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
1443            final StringBuilder buffer = new StringBuilder();
1444            append(null, buffer, strategy);
1445            return buffer.toString();
1446        }
1447
1448        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1449            strategy.appendStart(locator, this, buffer);
1450            appendFields(locator, buffer, strategy);
1451            strategy.appendEnd(locator, this, buffer);
1452            return buffer;
1453        }
1454
1455        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
1456            {
1457                DtoStatements theStatements;
1458                theStatements = this.getStatements();
1459                strategy.appendField(locator, this, "statements", buffer, theStatements);
1460            }
1461            {
1462                Object theAny;
1463                theAny = this.getAny();
1464                strategy.appendField(locator, this, "any", buffer, theAny);
1465            }
1466            return buffer;
1467        }
1468
1469        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
1470            int currentHashCode = 1;
1471            {
1472                DtoStatements theStatements;
1473                theStatements = this.getStatements();
1474                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "statements", theStatements), currentHashCode, theStatements);
1475            }
1476            {
1477                Object theAny;
1478                theAny = this.getAny();
1479                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
1480            }
1481            return currentHashCode;
1482        }
1483
1484        public int hashCode() {
1485            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1486            return this.hashCode(null, strategy);
1487        }
1488
1489        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
1490            if (!(object instanceof DtoLeaseDatabaseLocker.Statements)) {
1491                return false;
1492            }
1493            if (this == object) {
1494                return true;
1495            }
1496            final DtoLeaseDatabaseLocker.Statements that = ((DtoLeaseDatabaseLocker.Statements) object);
1497            {
1498                DtoStatements lhsStatements;
1499                lhsStatements = this.getStatements();
1500                DtoStatements rhsStatements;
1501                rhsStatements = that.getStatements();
1502                if (!strategy.equals(LocatorUtils.property(thisLocator, "statements", lhsStatements), LocatorUtils.property(thatLocator, "statements", rhsStatements), lhsStatements, rhsStatements)) {
1503                    return false;
1504                }
1505            }
1506            {
1507                Object lhsAny;
1508                lhsAny = this.getAny();
1509                Object rhsAny;
1510                rhsAny = that.getAny();
1511                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
1512                    return false;
1513                }
1514            }
1515            return true;
1516        }
1517
1518        public boolean equals(Object object) {
1519            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
1520            return equals(null, null, object, strategy);
1521        }
1522
1523    }
1524
1525}