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