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: 2016.09.15 at 06:37:38 AM EDT 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.math.BigInteger;
012import java.util.HashMap;
013import java.util.Map;
014import javax.xml.bind.annotation.XmlAccessType;
015import javax.xml.bind.annotation.XmlAccessorType;
016import javax.xml.bind.annotation.XmlAnyAttribute;
017import javax.xml.bind.annotation.XmlAttribute;
018import javax.xml.bind.annotation.XmlID;
019import javax.xml.bind.annotation.XmlRootElement;
020import javax.xml.bind.annotation.XmlSchemaType;
021import javax.xml.bind.annotation.XmlType;
022import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
023import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
024import javax.xml.namespace.QName;
025import org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy;
026import org.jvnet.jaxb2_commons.lang.Equals;
027import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
028import org.jvnet.jaxb2_commons.lang.HashCode;
029import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
030import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
031import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
032import org.jvnet.jaxb2_commons.lang.ToString;
033import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
034import org.jvnet.jaxb2_commons.locator.ObjectLocator;
035import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
036
037
038/**
039 * <p>Java class for anonymous complex type.
040 * 
041 * <p>The following schema fragment specifies the expected content contained within this class.
042 * 
043 * <pre>
044 * &lt;complexType>
045 *   &lt;complexContent>
046 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
047 *       &lt;attribute name="dropAll" type="{http://www.w3.org/2001/XMLSchema}boolean" />
048 *       &lt;attribute name="dropOnly" type="{http://www.w3.org/2001/XMLSchema}string" />
049 *       &lt;attribute name="dropTemporaryQueues" type="{http://www.w3.org/2001/XMLSchema}boolean" />
050 *       &lt;attribute name="dropTemporaryTopics" type="{http://www.w3.org/2001/XMLSchema}boolean" />
051 *       &lt;attribute name="reportInterval" type="{http://www.w3.org/2001/XMLSchema}integer" />
052 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
053 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
054 *     &lt;/restriction>
055 *   &lt;/complexContent>
056 * &lt;/complexType>
057 * </pre>
058 * 
059 * 
060 */
061@XmlAccessorType(XmlAccessType.FIELD)
062@XmlType(name = "")
063@XmlRootElement(name = "discardingDLQBrokerPlugin")
064public class DtoDiscardingDLQBrokerPlugin implements Equals, HashCode, ToString
065{
066
067    @XmlAttribute(name = "dropAll")
068    protected Boolean dropAll;
069    @XmlAttribute(name = "dropOnly")
070    protected String dropOnly;
071    @XmlAttribute(name = "dropTemporaryQueues")
072    protected Boolean dropTemporaryQueues;
073    @XmlAttribute(name = "dropTemporaryTopics")
074    protected Boolean dropTemporaryTopics;
075    @XmlAttribute(name = "reportInterval")
076    protected BigInteger reportInterval;
077    @XmlAttribute(name = "id")
078    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
079    @XmlID
080    @XmlSchemaType(name = "ID")
081    protected String id;
082    @XmlAnyAttribute
083    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
084
085    /**
086     * Gets the value of the dropAll property.
087     * 
088     * @return
089     *     possible object is
090     *     {@link Boolean }
091     *     
092     */
093    public Boolean isDropAll() {
094        return dropAll;
095    }
096
097    /**
098     * Sets the value of the dropAll property.
099     * 
100     * @param value
101     *     allowed object is
102     *     {@link Boolean }
103     *     
104     */
105    public void setDropAll(Boolean value) {
106        this.dropAll = value;
107    }
108
109    /**
110     * Gets the value of the dropOnly property.
111     * 
112     * @return
113     *     possible object is
114     *     {@link String }
115     *     
116     */
117    public String getDropOnly() {
118        return dropOnly;
119    }
120
121    /**
122     * Sets the value of the dropOnly property.
123     * 
124     * @param value
125     *     allowed object is
126     *     {@link String }
127     *     
128     */
129    public void setDropOnly(String value) {
130        this.dropOnly = value;
131    }
132
133    /**
134     * Gets the value of the dropTemporaryQueues property.
135     * 
136     * @return
137     *     possible object is
138     *     {@link Boolean }
139     *     
140     */
141    public Boolean isDropTemporaryQueues() {
142        return dropTemporaryQueues;
143    }
144
145    /**
146     * Sets the value of the dropTemporaryQueues property.
147     * 
148     * @param value
149     *     allowed object is
150     *     {@link Boolean }
151     *     
152     */
153    public void setDropTemporaryQueues(Boolean value) {
154        this.dropTemporaryQueues = value;
155    }
156
157    /**
158     * Gets the value of the dropTemporaryTopics property.
159     * 
160     * @return
161     *     possible object is
162     *     {@link Boolean }
163     *     
164     */
165    public Boolean isDropTemporaryTopics() {
166        return dropTemporaryTopics;
167    }
168
169    /**
170     * Sets the value of the dropTemporaryTopics property.
171     * 
172     * @param value
173     *     allowed object is
174     *     {@link Boolean }
175     *     
176     */
177    public void setDropTemporaryTopics(Boolean value) {
178        this.dropTemporaryTopics = value;
179    }
180
181    /**
182     * Gets the value of the reportInterval property.
183     * 
184     * @return
185     *     possible object is
186     *     {@link BigInteger }
187     *     
188     */
189    public BigInteger getReportInterval() {
190        return reportInterval;
191    }
192
193    /**
194     * Sets the value of the reportInterval property.
195     * 
196     * @param value
197     *     allowed object is
198     *     {@link BigInteger }
199     *     
200     */
201    public void setReportInterval(BigInteger value) {
202        this.reportInterval = value;
203    }
204
205    /**
206     * Gets the value of the id property.
207     * 
208     * @return
209     *     possible object is
210     *     {@link String }
211     *     
212     */
213    public String getId() {
214        return id;
215    }
216
217    /**
218     * Sets the value of the id property.
219     * 
220     * @param value
221     *     allowed object is
222     *     {@link String }
223     *     
224     */
225    public void setId(String value) {
226        this.id = value;
227    }
228
229    /**
230     * Gets a map that contains attributes that aren't bound to any typed property on this class.
231     * 
232     * <p>
233     * the map is keyed by the name of the attribute and 
234     * the value is the string value of the attribute.
235     * 
236     * the map returned by this method is live, and you can add new attribute
237     * by updating the map directly. Because of this design, there's no setter.
238     * 
239     * 
240     * @return
241     *     always non-null
242     */
243    public Map<QName, String> getOtherAttributes() {
244        return otherAttributes;
245    }
246
247    public String toString() {
248        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
249        final StringBuilder buffer = new StringBuilder();
250        append(null, buffer, strategy);
251        return buffer.toString();
252    }
253
254    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
255        strategy.appendStart(locator, this, buffer);
256        appendFields(locator, buffer, strategy);
257        strategy.appendEnd(locator, this, buffer);
258        return buffer;
259    }
260
261    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
262        {
263            Boolean theDropAll;
264            theDropAll = this.isDropAll();
265            strategy.appendField(locator, this, "dropAll", buffer, theDropAll);
266        }
267        {
268            String theDropOnly;
269            theDropOnly = this.getDropOnly();
270            strategy.appendField(locator, this, "dropOnly", buffer, theDropOnly);
271        }
272        {
273            Boolean theDropTemporaryQueues;
274            theDropTemporaryQueues = this.isDropTemporaryQueues();
275            strategy.appendField(locator, this, "dropTemporaryQueues", buffer, theDropTemporaryQueues);
276        }
277        {
278            Boolean theDropTemporaryTopics;
279            theDropTemporaryTopics = this.isDropTemporaryTopics();
280            strategy.appendField(locator, this, "dropTemporaryTopics", buffer, theDropTemporaryTopics);
281        }
282        {
283            BigInteger theReportInterval;
284            theReportInterval = this.getReportInterval();
285            strategy.appendField(locator, this, "reportInterval", buffer, theReportInterval);
286        }
287        {
288            String theId;
289            theId = this.getId();
290            strategy.appendField(locator, this, "id", buffer, theId);
291        }
292        return buffer;
293    }
294
295    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
296        int currentHashCode = 1;
297        {
298            Boolean theDropAll;
299            theDropAll = this.isDropAll();
300            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dropAll", theDropAll), currentHashCode, theDropAll);
301        }
302        {
303            String theDropOnly;
304            theDropOnly = this.getDropOnly();
305            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dropOnly", theDropOnly), currentHashCode, theDropOnly);
306        }
307        {
308            Boolean theDropTemporaryQueues;
309            theDropTemporaryQueues = this.isDropTemporaryQueues();
310            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dropTemporaryQueues", theDropTemporaryQueues), currentHashCode, theDropTemporaryQueues);
311        }
312        {
313            Boolean theDropTemporaryTopics;
314            theDropTemporaryTopics = this.isDropTemporaryTopics();
315            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "dropTemporaryTopics", theDropTemporaryTopics), currentHashCode, theDropTemporaryTopics);
316        }
317        {
318            BigInteger theReportInterval;
319            theReportInterval = this.getReportInterval();
320            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "reportInterval", theReportInterval), currentHashCode, theReportInterval);
321        }
322        {
323            String theId;
324            theId = this.getId();
325            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
326        }
327        return currentHashCode;
328    }
329
330    public int hashCode() {
331        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
332        return this.hashCode(null, strategy);
333    }
334
335    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
336        if (!(object instanceof DtoDiscardingDLQBrokerPlugin)) {
337            return false;
338        }
339        if (this == object) {
340            return true;
341        }
342        final DtoDiscardingDLQBrokerPlugin that = ((DtoDiscardingDLQBrokerPlugin) object);
343        {
344            Boolean lhsDropAll;
345            lhsDropAll = this.isDropAll();
346            Boolean rhsDropAll;
347            rhsDropAll = that.isDropAll();
348            if (!strategy.equals(LocatorUtils.property(thisLocator, "dropAll", lhsDropAll), LocatorUtils.property(thatLocator, "dropAll", rhsDropAll), lhsDropAll, rhsDropAll)) {
349                return false;
350            }
351        }
352        {
353            String lhsDropOnly;
354            lhsDropOnly = this.getDropOnly();
355            String rhsDropOnly;
356            rhsDropOnly = that.getDropOnly();
357            if (!strategy.equals(LocatorUtils.property(thisLocator, "dropOnly", lhsDropOnly), LocatorUtils.property(thatLocator, "dropOnly", rhsDropOnly), lhsDropOnly, rhsDropOnly)) {
358                return false;
359            }
360        }
361        {
362            Boolean lhsDropTemporaryQueues;
363            lhsDropTemporaryQueues = this.isDropTemporaryQueues();
364            Boolean rhsDropTemporaryQueues;
365            rhsDropTemporaryQueues = that.isDropTemporaryQueues();
366            if (!strategy.equals(LocatorUtils.property(thisLocator, "dropTemporaryQueues", lhsDropTemporaryQueues), LocatorUtils.property(thatLocator, "dropTemporaryQueues", rhsDropTemporaryQueues), lhsDropTemporaryQueues, rhsDropTemporaryQueues)) {
367                return false;
368            }
369        }
370        {
371            Boolean lhsDropTemporaryTopics;
372            lhsDropTemporaryTopics = this.isDropTemporaryTopics();
373            Boolean rhsDropTemporaryTopics;
374            rhsDropTemporaryTopics = that.isDropTemporaryTopics();
375            if (!strategy.equals(LocatorUtils.property(thisLocator, "dropTemporaryTopics", lhsDropTemporaryTopics), LocatorUtils.property(thatLocator, "dropTemporaryTopics", rhsDropTemporaryTopics), lhsDropTemporaryTopics, rhsDropTemporaryTopics)) {
376                return false;
377            }
378        }
379        {
380            BigInteger lhsReportInterval;
381            lhsReportInterval = this.getReportInterval();
382            BigInteger rhsReportInterval;
383            rhsReportInterval = that.getReportInterval();
384            if (!strategy.equals(LocatorUtils.property(thisLocator, "reportInterval", lhsReportInterval), LocatorUtils.property(thatLocator, "reportInterval", rhsReportInterval), lhsReportInterval, rhsReportInterval)) {
385                return false;
386            }
387        }
388        {
389            String lhsId;
390            lhsId = this.getId();
391            String rhsId;
392            rhsId = that.getId();
393            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
394                return false;
395            }
396        }
397        return true;
398    }
399
400    public boolean equals(Object object) {
401        final EqualsStrategy strategy = new ElementAwareEqualsStrategy();
402        return equals(null, null, object, strategy);
403    }
404
405}