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