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