001//
002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.10-b140310.1920 
003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
004// Any modifications to this file will be lost upon recompilation of the source schema. 
005// Generated on: 2019.03.15 at 09:00:08 AM EDT 
006//
007
008
009package org.apache.activemq.schema.core;
010
011import java.util.HashMap;
012import java.util.Map;
013import javax.xml.bind.annotation.XmlAccessType;
014import javax.xml.bind.annotation.XmlAccessorType;
015import javax.xml.bind.annotation.XmlAnyAttribute;
016import javax.xml.bind.annotation.XmlAttribute;
017import javax.xml.bind.annotation.XmlID;
018import javax.xml.bind.annotation.XmlRootElement;
019import javax.xml.bind.annotation.XmlSchemaType;
020import javax.xml.bind.annotation.XmlType;
021import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
022import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
023import javax.xml.namespace.QName;
024import org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy;
025import org.jvnet.jaxb2_commons.lang.Equals;
026import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
027import org.jvnet.jaxb2_commons.lang.HashCode;
028import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
029import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
030import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
031import org.jvnet.jaxb2_commons.lang.ToString;
032import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
033import org.jvnet.jaxb2_commons.locator.ObjectLocator;
034import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
035
036
037/**
038 * <p>Java class for anonymous complex type.
039 * 
040 * <p>The following schema fragment specifies the expected content contained within this class.
041 * 
042 * <pre>
043 * &lt;complexType>
044 *   &lt;complexContent>
045 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
046 *       &lt;attribute name="ignoreWildcardSelectors" type="{http://www.w3.org/2001/XMLSchema}boolean" />
047 *       &lt;attribute name="persistFile" type="{http://www.w3.org/2001/XMLSchema}string" />
048 *       &lt;attribute name="persistInterval" type="{http://www.w3.org/2001/XMLSchema}long" />
049 *       &lt;attribute name="singleSelectorPerDestination" type="{http://www.w3.org/2001/XMLSchema}boolean" />
050 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
051 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
052 *     &lt;/restriction>
053 *   &lt;/complexContent>
054 * &lt;/complexType>
055 * </pre>
056 * 
057 * 
058 */
059@XmlAccessorType(XmlAccessType.FIELD)
060@XmlType(name = "")
061@XmlRootElement(name = "virtualSelectorCacheBrokerPlugin")
062public class DtoVirtualSelectorCacheBrokerPlugin implements Equals, HashCode, ToString
063{
064
065    @XmlAttribute(name = "ignoreWildcardSelectors")
066    protected Boolean ignoreWildcardSelectors;
067    @XmlAttribute(name = "persistFile")
068    protected String persistFile;
069    @XmlAttribute(name = "persistInterval")
070    protected Long persistInterval;
071    @XmlAttribute(name = "singleSelectorPerDestination")
072    protected Boolean singleSelectorPerDestination;
073    @XmlAttribute(name = "id")
074    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
075    @XmlID
076    @XmlSchemaType(name = "ID")
077    protected String id;
078    @XmlAnyAttribute
079    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
080
081    /**
082     * Gets the value of the ignoreWildcardSelectors property.
083     * 
084     * @return
085     *     possible object is
086     *     {@link Boolean }
087     *     
088     */
089    public Boolean isIgnoreWildcardSelectors() {
090        return ignoreWildcardSelectors;
091    }
092
093    /**
094     * Sets the value of the ignoreWildcardSelectors property.
095     * 
096     * @param value
097     *     allowed object is
098     *     {@link Boolean }
099     *     
100     */
101    public void setIgnoreWildcardSelectors(Boolean value) {
102        this.ignoreWildcardSelectors = value;
103    }
104
105    /**
106     * Gets the value of the persistFile property.
107     * 
108     * @return
109     *     possible object is
110     *     {@link String }
111     *     
112     */
113    public String getPersistFile() {
114        return persistFile;
115    }
116
117    /**
118     * Sets the value of the persistFile property.
119     * 
120     * @param value
121     *     allowed object is
122     *     {@link String }
123     *     
124     */
125    public void setPersistFile(String value) {
126        this.persistFile = value;
127    }
128
129    /**
130     * Gets the value of the persistInterval property.
131     * 
132     * @return
133     *     possible object is
134     *     {@link Long }
135     *     
136     */
137    public Long getPersistInterval() {
138        return persistInterval;
139    }
140
141    /**
142     * Sets the value of the persistInterval property.
143     * 
144     * @param value
145     *     allowed object is
146     *     {@link Long }
147     *     
148     */
149    public void setPersistInterval(Long value) {
150        this.persistInterval = value;
151    }
152
153    /**
154     * Gets the value of the singleSelectorPerDestination property.
155     * 
156     * @return
157     *     possible object is
158     *     {@link Boolean }
159     *     
160     */
161    public Boolean isSingleSelectorPerDestination() {
162        return singleSelectorPerDestination;
163    }
164
165    /**
166     * Sets the value of the singleSelectorPerDestination property.
167     * 
168     * @param value
169     *     allowed object is
170     *     {@link Boolean }
171     *     
172     */
173    public void setSingleSelectorPerDestination(Boolean value) {
174        this.singleSelectorPerDestination = value;
175    }
176
177    /**
178     * Gets the value of the id property.
179     * 
180     * @return
181     *     possible object is
182     *     {@link String }
183     *     
184     */
185    public String getId() {
186        return id;
187    }
188
189    /**
190     * Sets the value of the id property.
191     * 
192     * @param value
193     *     allowed object is
194     *     {@link String }
195     *     
196     */
197    public void setId(String value) {
198        this.id = value;
199    }
200
201    /**
202     * Gets a map that contains attributes that aren't bound to any typed property on this class.
203     * 
204     * <p>
205     * the map is keyed by the name of the attribute and 
206     * the value is the string value of the attribute.
207     * 
208     * the map returned by this method is live, and you can add new attribute
209     * by updating the map directly. Because of this design, there's no setter.
210     * 
211     * 
212     * @return
213     *     always non-null
214     */
215    public Map<QName, String> getOtherAttributes() {
216        return otherAttributes;
217    }
218
219    public String toString() {
220        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
221        final StringBuilder buffer = new StringBuilder();
222        append(null, buffer, strategy);
223        return buffer.toString();
224    }
225
226    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
227        strategy.appendStart(locator, this, buffer);
228        appendFields(locator, buffer, strategy);
229        strategy.appendEnd(locator, this, buffer);
230        return buffer;
231    }
232
233    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
234        {
235            Boolean theIgnoreWildcardSelectors;
236            theIgnoreWildcardSelectors = this.isIgnoreWildcardSelectors();
237            strategy.appendField(locator, this, "ignoreWildcardSelectors", buffer, theIgnoreWildcardSelectors);
238        }
239        {
240            String thePersistFile;
241            thePersistFile = this.getPersistFile();
242            strategy.appendField(locator, this, "persistFile", buffer, thePersistFile);
243        }
244        {
245            Long thePersistInterval;
246            thePersistInterval = this.getPersistInterval();
247            strategy.appendField(locator, this, "persistInterval", buffer, thePersistInterval);
248        }
249        {
250            Boolean theSingleSelectorPerDestination;
251            theSingleSelectorPerDestination = this.isSingleSelectorPerDestination();
252            strategy.appendField(locator, this, "singleSelectorPerDestination", buffer, theSingleSelectorPerDestination);
253        }
254        {
255            String theId;
256            theId = this.getId();
257            strategy.appendField(locator, this, "id", buffer, theId);
258        }
259        return buffer;
260    }
261
262    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
263        int currentHashCode = 1;
264        {
265            Boolean theIgnoreWildcardSelectors;
266            theIgnoreWildcardSelectors = this.isIgnoreWildcardSelectors();
267            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ignoreWildcardSelectors", theIgnoreWildcardSelectors), currentHashCode, theIgnoreWildcardSelectors);
268        }
269        {
270            String thePersistFile;
271            thePersistFile = this.getPersistFile();
272            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "persistFile", thePersistFile), currentHashCode, thePersistFile);
273        }
274        {
275            Long thePersistInterval;
276            thePersistInterval = this.getPersistInterval();
277            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "persistInterval", thePersistInterval), currentHashCode, thePersistInterval);
278        }
279        {
280            Boolean theSingleSelectorPerDestination;
281            theSingleSelectorPerDestination = this.isSingleSelectorPerDestination();
282            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "singleSelectorPerDestination", theSingleSelectorPerDestination), currentHashCode, theSingleSelectorPerDestination);
283        }
284        {
285            String theId;
286            theId = this.getId();
287            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
288        }
289        return currentHashCode;
290    }
291
292    public int hashCode() {
293        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
294        return this.hashCode(null, strategy);
295    }
296
297    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
298        if (!(object instanceof DtoVirtualSelectorCacheBrokerPlugin)) {
299            return false;
300        }
301        if (this == object) {
302            return true;
303        }
304        final DtoVirtualSelectorCacheBrokerPlugin that = ((DtoVirtualSelectorCacheBrokerPlugin) object);
305        {
306            Boolean lhsIgnoreWildcardSelectors;
307            lhsIgnoreWildcardSelectors = this.isIgnoreWildcardSelectors();
308            Boolean rhsIgnoreWildcardSelectors;
309            rhsIgnoreWildcardSelectors = that.isIgnoreWildcardSelectors();
310            if (!strategy.equals(LocatorUtils.property(thisLocator, "ignoreWildcardSelectors", lhsIgnoreWildcardSelectors), LocatorUtils.property(thatLocator, "ignoreWildcardSelectors", rhsIgnoreWildcardSelectors), lhsIgnoreWildcardSelectors, rhsIgnoreWildcardSelectors)) {
311                return false;
312            }
313        }
314        {
315            String lhsPersistFile;
316            lhsPersistFile = this.getPersistFile();
317            String rhsPersistFile;
318            rhsPersistFile = that.getPersistFile();
319            if (!strategy.equals(LocatorUtils.property(thisLocator, "persistFile", lhsPersistFile), LocatorUtils.property(thatLocator, "persistFile", rhsPersistFile), lhsPersistFile, rhsPersistFile)) {
320                return false;
321            }
322        }
323        {
324            Long lhsPersistInterval;
325            lhsPersistInterval = this.getPersistInterval();
326            Long rhsPersistInterval;
327            rhsPersistInterval = that.getPersistInterval();
328            if (!strategy.equals(LocatorUtils.property(thisLocator, "persistInterval", lhsPersistInterval), LocatorUtils.property(thatLocator, "persistInterval", rhsPersistInterval), lhsPersistInterval, rhsPersistInterval)) {
329                return false;
330            }
331        }
332        {
333            Boolean lhsSingleSelectorPerDestination;
334            lhsSingleSelectorPerDestination = this.isSingleSelectorPerDestination();
335            Boolean rhsSingleSelectorPerDestination;
336            rhsSingleSelectorPerDestination = that.isSingleSelectorPerDestination();
337            if (!strategy.equals(LocatorUtils.property(thisLocator, "singleSelectorPerDestination", lhsSingleSelectorPerDestination), LocatorUtils.property(thatLocator, "singleSelectorPerDestination", rhsSingleSelectorPerDestination), lhsSingleSelectorPerDestination, rhsSingleSelectorPerDestination)) {
338                return false;
339            }
340        }
341        {
342            String lhsId;
343            lhsId = this.getId();
344            String rhsId;
345            rhsId = that.getId();
346            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
347                return false;
348            }
349        }
350        return true;
351    }
352
353    public boolean equals(Object object) {
354        final EqualsStrategy strategy = new ElementAwareEqualsStrategy();
355        return equals(null, null, object, strategy);
356    }
357
358}