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