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="rateDuration" type="{http://www.w3.org/2001/XMLSchema}integer" />
048 *       &lt;attribute name="rateLimit" type="{http://www.w3.org/2001/XMLSchema}integer" />
049 *       &lt;attribute name="replayDelay" type="{http://www.w3.org/2001/XMLSchema}integer" />
050 *       &lt;attribute name="replayWhenNoConsumers" type="{http://www.w3.org/2001/XMLSchema}boolean" />
051 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
052 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
053 *     &lt;/restriction>
054 *   &lt;/complexContent>
055 * &lt;/complexType>
056 * </pre>
057 * 
058 * 
059 */
060@XmlAccessorType(XmlAccessType.FIELD)
061@XmlType(name = "")
062@XmlRootElement(name = "conditionalNetworkBridgeFilterFactory")
063public class DtoConditionalNetworkBridgeFilterFactory
064    implements Equals, HashCode, ToString
065{
066
067    @XmlAttribute(name = "rateDuration")
068    protected BigInteger rateDuration;
069    @XmlAttribute(name = "rateLimit")
070    protected BigInteger rateLimit;
071    @XmlAttribute(name = "replayDelay")
072    protected BigInteger replayDelay;
073    @XmlAttribute(name = "replayWhenNoConsumers")
074    protected Boolean replayWhenNoConsumers;
075    @XmlAttribute(name = "id")
076    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
077    @XmlID
078    @XmlSchemaType(name = "ID")
079    protected String id;
080    @XmlAnyAttribute
081    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
082
083    /**
084     * Gets the value of the rateDuration property.
085     * 
086     * @return
087     *     possible object is
088     *     {@link BigInteger }
089     *     
090     */
091    public BigInteger getRateDuration() {
092        return rateDuration;
093    }
094
095    /**
096     * Sets the value of the rateDuration property.
097     * 
098     * @param value
099     *     allowed object is
100     *     {@link BigInteger }
101     *     
102     */
103    public void setRateDuration(BigInteger value) {
104        this.rateDuration = value;
105    }
106
107    /**
108     * Gets the value of the rateLimit property.
109     * 
110     * @return
111     *     possible object is
112     *     {@link BigInteger }
113     *     
114     */
115    public BigInteger getRateLimit() {
116        return rateLimit;
117    }
118
119    /**
120     * Sets the value of the rateLimit property.
121     * 
122     * @param value
123     *     allowed object is
124     *     {@link BigInteger }
125     *     
126     */
127    public void setRateLimit(BigInteger value) {
128        this.rateLimit = value;
129    }
130
131    /**
132     * Gets the value of the replayDelay property.
133     * 
134     * @return
135     *     possible object is
136     *     {@link BigInteger }
137     *     
138     */
139    public BigInteger getReplayDelay() {
140        return replayDelay;
141    }
142
143    /**
144     * Sets the value of the replayDelay property.
145     * 
146     * @param value
147     *     allowed object is
148     *     {@link BigInteger }
149     *     
150     */
151    public void setReplayDelay(BigInteger value) {
152        this.replayDelay = value;
153    }
154
155    /**
156     * Gets the value of the replayWhenNoConsumers property.
157     * 
158     * @return
159     *     possible object is
160     *     {@link Boolean }
161     *     
162     */
163    public Boolean isReplayWhenNoConsumers() {
164        return replayWhenNoConsumers;
165    }
166
167    /**
168     * Sets the value of the replayWhenNoConsumers property.
169     * 
170     * @param value
171     *     allowed object is
172     *     {@link Boolean }
173     *     
174     */
175    public void setReplayWhenNoConsumers(Boolean value) {
176        this.replayWhenNoConsumers = value;
177    }
178
179    /**
180     * Gets the value of the id property.
181     * 
182     * @return
183     *     possible object is
184     *     {@link String }
185     *     
186     */
187    public String getId() {
188        return id;
189    }
190
191    /**
192     * Sets the value of the id property.
193     * 
194     * @param value
195     *     allowed object is
196     *     {@link String }
197     *     
198     */
199    public void setId(String value) {
200        this.id = value;
201    }
202
203    /**
204     * Gets a map that contains attributes that aren't bound to any typed property on this class.
205     * 
206     * <p>
207     * the map is keyed by the name of the attribute and 
208     * the value is the string value of the attribute.
209     * 
210     * the map returned by this method is live, and you can add new attribute
211     * by updating the map directly. Because of this design, there's no setter.
212     * 
213     * 
214     * @return
215     *     always non-null
216     */
217    public Map<QName, String> getOtherAttributes() {
218        return otherAttributes;
219    }
220
221    public String toString() {
222        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
223        final StringBuilder buffer = new StringBuilder();
224        append(null, buffer, strategy);
225        return buffer.toString();
226    }
227
228    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
229        strategy.appendStart(locator, this, buffer);
230        appendFields(locator, buffer, strategy);
231        strategy.appendEnd(locator, this, buffer);
232        return buffer;
233    }
234
235    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
236        {
237            BigInteger theRateDuration;
238            theRateDuration = this.getRateDuration();
239            strategy.appendField(locator, this, "rateDuration", buffer, theRateDuration);
240        }
241        {
242            BigInteger theRateLimit;
243            theRateLimit = this.getRateLimit();
244            strategy.appendField(locator, this, "rateLimit", buffer, theRateLimit);
245        }
246        {
247            BigInteger theReplayDelay;
248            theReplayDelay = this.getReplayDelay();
249            strategy.appendField(locator, this, "replayDelay", buffer, theReplayDelay);
250        }
251        {
252            Boolean theReplayWhenNoConsumers;
253            theReplayWhenNoConsumers = this.isReplayWhenNoConsumers();
254            strategy.appendField(locator, this, "replayWhenNoConsumers", buffer, theReplayWhenNoConsumers);
255        }
256        {
257            String theId;
258            theId = this.getId();
259            strategy.appendField(locator, this, "id", buffer, theId);
260        }
261        return buffer;
262    }
263
264    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
265        int currentHashCode = 1;
266        {
267            BigInteger theRateDuration;
268            theRateDuration = this.getRateDuration();
269            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "rateDuration", theRateDuration), currentHashCode, theRateDuration);
270        }
271        {
272            BigInteger theRateLimit;
273            theRateLimit = this.getRateLimit();
274            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "rateLimit", theRateLimit), currentHashCode, theRateLimit);
275        }
276        {
277            BigInteger theReplayDelay;
278            theReplayDelay = this.getReplayDelay();
279            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "replayDelay", theReplayDelay), currentHashCode, theReplayDelay);
280        }
281        {
282            Boolean theReplayWhenNoConsumers;
283            theReplayWhenNoConsumers = this.isReplayWhenNoConsumers();
284            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "replayWhenNoConsumers", theReplayWhenNoConsumers), currentHashCode, theReplayWhenNoConsumers);
285        }
286        {
287            String theId;
288            theId = this.getId();
289            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
290        }
291        return currentHashCode;
292    }
293
294    public int hashCode() {
295        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
296        return this.hashCode(null, strategy);
297    }
298
299    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
300        if (!(object instanceof DtoConditionalNetworkBridgeFilterFactory)) {
301            return false;
302        }
303        if (this == object) {
304            return true;
305        }
306        final DtoConditionalNetworkBridgeFilterFactory that = ((DtoConditionalNetworkBridgeFilterFactory) object);
307        {
308            BigInteger lhsRateDuration;
309            lhsRateDuration = this.getRateDuration();
310            BigInteger rhsRateDuration;
311            rhsRateDuration = that.getRateDuration();
312            if (!strategy.equals(LocatorUtils.property(thisLocator, "rateDuration", lhsRateDuration), LocatorUtils.property(thatLocator, "rateDuration", rhsRateDuration), lhsRateDuration, rhsRateDuration)) {
313                return false;
314            }
315        }
316        {
317            BigInteger lhsRateLimit;
318            lhsRateLimit = this.getRateLimit();
319            BigInteger rhsRateLimit;
320            rhsRateLimit = that.getRateLimit();
321            if (!strategy.equals(LocatorUtils.property(thisLocator, "rateLimit", lhsRateLimit), LocatorUtils.property(thatLocator, "rateLimit", rhsRateLimit), lhsRateLimit, rhsRateLimit)) {
322                return false;
323            }
324        }
325        {
326            BigInteger lhsReplayDelay;
327            lhsReplayDelay = this.getReplayDelay();
328            BigInteger rhsReplayDelay;
329            rhsReplayDelay = that.getReplayDelay();
330            if (!strategy.equals(LocatorUtils.property(thisLocator, "replayDelay", lhsReplayDelay), LocatorUtils.property(thatLocator, "replayDelay", rhsReplayDelay), lhsReplayDelay, rhsReplayDelay)) {
331                return false;
332            }
333        }
334        {
335            Boolean lhsReplayWhenNoConsumers;
336            lhsReplayWhenNoConsumers = this.isReplayWhenNoConsumers();
337            Boolean rhsReplayWhenNoConsumers;
338            rhsReplayWhenNoConsumers = that.isReplayWhenNoConsumers();
339            if (!strategy.equals(LocatorUtils.property(thisLocator, "replayWhenNoConsumers", lhsReplayWhenNoConsumers), LocatorUtils.property(thatLocator, "replayWhenNoConsumers", rhsReplayWhenNoConsumers), lhsReplayWhenNoConsumers, rhsReplayWhenNoConsumers)) {
340                return false;
341            }
342        }
343        {
344            String lhsId;
345            lhsId = this.getId();
346            String rhsId;
347            rhsId = that.getId();
348            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
349                return false;
350            }
351        }
352        return true;
353    }
354
355    public boolean equals(Object object) {
356        final EqualsStrategy strategy = new ElementAwareEqualsStrategy();
357        return equals(null, null, object, strategy);
358    }
359
360}