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