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.ArrayList;
012import java.util.HashMap;
013import java.util.List;
014import javax.xml.bind.JAXBElement;
015import javax.xml.bind.annotation.XmlAccessType;
016import javax.xml.bind.annotation.XmlAccessorType;
017import javax.xml.bind.annotation.XmlAnyAttribute;
018import javax.xml.bind.annotation.XmlAnyElement;
019import javax.xml.bind.annotation.XmlAttribute;
020import javax.xml.bind.annotation.XmlElement;
021import javax.xml.bind.annotation.XmlElementRef;
022import javax.xml.bind.annotation.XmlID;
023import javax.xml.bind.annotation.XmlRootElement;
024import javax.xml.bind.annotation.XmlSchemaType;
025import javax.xml.bind.annotation.XmlType;
026import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
027import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
028import javax.xml.namespace.QName;
029import org.jvnet.jaxb2_commons.lang.Equals;
030import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
031import org.jvnet.jaxb2_commons.lang.HashCode;
032import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
033import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
034import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
035import org.jvnet.jaxb2_commons.lang.ToString;
036import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
037import org.jvnet.jaxb2_commons.locator.ObjectLocator;
038import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
039
040
041/**
042 * <p>Java class for anonymous complex type.
043 * 
044 * <p>The following schema fragment specifies the expected content contained within this class.
045 * 
046 * <pre>
047 * &lt;complexType>
048 *   &lt;complexContent>
049 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
050 *       &lt;choice maxOccurs="unbounded" minOccurs="0">
051 *         &lt;choice>
052 *           &lt;element name="map" minOccurs="0">
053 *             &lt;complexType>
054 *               &lt;complexContent>
055 *                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
056 *                   &lt;choice minOccurs="0">
057 *                     &lt;element ref="{http://activemq.apache.org/schema/core}authorizationMap"/>
058 *                     &lt;element ref="{http://activemq.apache.org/schema/core}cachedLDAPAuthorizationMap"/>
059 *                     &lt;element ref="{http://activemq.apache.org/schema/core}lDAPAuthorizationMap"/>
060 *                     &lt;element ref="{http://activemq.apache.org/schema/core}simpleAuthorizationMap"/>
061 *                     &lt;any namespace='##other'/>
062 *                   &lt;/choice>
063 *                 &lt;/restriction>
064 *               &lt;/complexContent>
065 *             &lt;/complexType>
066 *           &lt;/element>
067 *           &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
068 *         &lt;/choice>
069 *       &lt;/choice>
070 *       &lt;attribute name="map" type="{http://www.w3.org/2001/XMLSchema}string" />
071 *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
072 *       &lt;anyAttribute processContents='lax' namespace='##other'/>
073 *     &lt;/restriction>
074 *   &lt;/complexContent>
075 * &lt;/complexType>
076 * </pre>
077 * 
078 * 
079 */
080@XmlAccessorType(XmlAccessType.FIELD)
081@XmlType(name = "", propOrder = {
082    "contents"
083})
084@XmlRootElement(name = "authorizationPlugin")
085public class DtoAuthorizationPlugin implements Equals, HashCode, ToString
086{
087
088    @XmlElementRef(name = "map", namespace = "http://activemq.apache.org/schema/core", type = JAXBElement.class, required = false)
089    @XmlAnyElement(lax = true)
090    protected List<Object> contents;
091    @XmlAttribute(name = "map")
092    protected String map;
093    @XmlAttribute(name = "id")
094    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
095    @XmlID
096    @XmlSchemaType(name = "ID")
097    protected String id;
098    @XmlAnyAttribute
099    private java.util.Map<QName, String> otherAttributes = new HashMap<QName, String>();
100
101    /**
102     * Gets the value of the contents property.
103     * 
104     * <p>
105     * This accessor method returns a reference to the live list,
106     * not a snapshot. Therefore any modification you make to the
107     * returned list will be present inside the JAXB object.
108     * This is why there is not a <CODE>set</CODE> method for the contents property.
109     * 
110     * <p>
111     * For example, to add a new item, do as follows:
112     * <pre>
113     *    getContents().add(newItem);
114     * </pre>
115     * 
116     * 
117     * <p>
118     * Objects of the following type(s) are allowed in the list
119     * {@link JAXBElement }{@code <}{@link DtoAuthorizationPlugin.Map }{@code >}
120     * {@link Object }
121     * 
122     * 
123     */
124    public List<Object> getContents() {
125        if (contents == null) {
126            contents = new ArrayList<Object>();
127        }
128        return this.contents;
129    }
130
131    /**
132     * Gets the value of the map property.
133     * 
134     * @return
135     *     possible object is
136     *     {@link String }
137     *     
138     */
139    public String getMap() {
140        return map;
141    }
142
143    /**
144     * Sets the value of the map property.
145     * 
146     * @param value
147     *     allowed object is
148     *     {@link String }
149     *     
150     */
151    public void setMap(String value) {
152        this.map = value;
153    }
154
155    /**
156     * Gets the value of the id property.
157     * 
158     * @return
159     *     possible object is
160     *     {@link String }
161     *     
162     */
163    public String getId() {
164        return id;
165    }
166
167    /**
168     * Sets the value of the id property.
169     * 
170     * @param value
171     *     allowed object is
172     *     {@link String }
173     *     
174     */
175    public void setId(String value) {
176        this.id = value;
177    }
178
179    /**
180     * Gets a map that contains attributes that aren't bound to any typed property on this class.
181     * 
182     * <p>
183     * the map is keyed by the name of the attribute and 
184     * the value is the string value of the attribute.
185     * 
186     * the map returned by this method is live, and you can add new attribute
187     * by updating the map directly. Because of this design, there's no setter.
188     * 
189     * 
190     * @return
191     *     always non-null
192     */
193    public java.util.Map<QName, String> getOtherAttributes() {
194        return otherAttributes;
195    }
196
197    public String toString() {
198        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
199        final StringBuilder buffer = new StringBuilder();
200        append(null, buffer, strategy);
201        return buffer.toString();
202    }
203
204    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
205        strategy.appendStart(locator, this, buffer);
206        appendFields(locator, buffer, strategy);
207        strategy.appendEnd(locator, this, buffer);
208        return buffer;
209    }
210
211    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
212        {
213            List<Object> theContents;
214            theContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
215            strategy.appendField(locator, this, "contents", buffer, theContents);
216        }
217        {
218            String theMap;
219            theMap = this.getMap();
220            strategy.appendField(locator, this, "map", buffer, theMap);
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            List<Object> theContents;
234            theContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
235            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "contents", theContents), currentHashCode, theContents);
236        }
237        {
238            String theMap;
239            theMap = this.getMap();
240            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "map", theMap), currentHashCode, theMap);
241        }
242        {
243            String theId;
244            theId = this.getId();
245            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "id", theId), currentHashCode, theId);
246        }
247        return currentHashCode;
248    }
249
250    public int hashCode() {
251        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
252        return this.hashCode(null, strategy);
253    }
254
255    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
256        if (!(object instanceof DtoAuthorizationPlugin)) {
257            return false;
258        }
259        if (this == object) {
260            return true;
261        }
262        final DtoAuthorizationPlugin that = ((DtoAuthorizationPlugin) object);
263        {
264            List<Object> lhsContents;
265            lhsContents = (((this.contents!= null)&&(!this.contents.isEmpty()))?this.getContents():null);
266            List<Object> rhsContents;
267            rhsContents = (((that.contents!= null)&&(!that.contents.isEmpty()))?that.getContents():null);
268            if (!strategy.equals(LocatorUtils.property(thisLocator, "contents", lhsContents), LocatorUtils.property(thatLocator, "contents", rhsContents), lhsContents, rhsContents)) {
269                return false;
270            }
271        }
272        {
273            String lhsMap;
274            lhsMap = this.getMap();
275            String rhsMap;
276            rhsMap = that.getMap();
277            if (!strategy.equals(LocatorUtils.property(thisLocator, "map", lhsMap), LocatorUtils.property(thatLocator, "map", rhsMap), lhsMap, rhsMap)) {
278                return false;
279            }
280        }
281        {
282            String lhsId;
283            lhsId = this.getId();
284            String rhsId;
285            rhsId = that.getId();
286            if (!strategy.equals(LocatorUtils.property(thisLocator, "id", lhsId), LocatorUtils.property(thatLocator, "id", rhsId), lhsId, rhsId)) {
287                return false;
288            }
289        }
290        return true;
291    }
292
293    public boolean equals(Object object) {
294        final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
295        return equals(null, null, object, strategy);
296    }
297
298
299    /**
300     * <p>Java class for anonymous complex type.
301     * 
302     * <p>The following schema fragment specifies the expected content contained within this class.
303     * 
304     * <pre>
305     * &lt;complexType>
306     *   &lt;complexContent>
307     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
308     *       &lt;choice minOccurs="0">
309     *         &lt;element ref="{http://activemq.apache.org/schema/core}authorizationMap"/>
310     *         &lt;element ref="{http://activemq.apache.org/schema/core}cachedLDAPAuthorizationMap"/>
311     *         &lt;element ref="{http://activemq.apache.org/schema/core}lDAPAuthorizationMap"/>
312     *         &lt;element ref="{http://activemq.apache.org/schema/core}simpleAuthorizationMap"/>
313     *         &lt;any namespace='##other'/>
314     *       &lt;/choice>
315     *     &lt;/restriction>
316     *   &lt;/complexContent>
317     * &lt;/complexType>
318     * </pre>
319     * 
320     * 
321     */
322    @XmlAccessorType(XmlAccessType.FIELD)
323    @XmlType(name = "", propOrder = {
324        "authorizationMap",
325        "cachedLDAPAuthorizationMap",
326        "ldapAuthorizationMap",
327        "simpleAuthorizationMap",
328        "any"
329    })
330    public static class Map
331        implements Equals, HashCode, ToString
332    {
333
334        protected DtoAuthorizationMap authorizationMap;
335        protected DtoCachedLDAPAuthorizationMap cachedLDAPAuthorizationMap;
336        @XmlElement(name = "lDAPAuthorizationMap")
337        protected DtoLDAPAuthorizationMap ldapAuthorizationMap;
338        protected DtoSimpleAuthorizationMap simpleAuthorizationMap;
339        @XmlAnyElement(lax = true)
340        protected Object any;
341
342        /**
343         * Gets the value of the authorizationMap property.
344         * 
345         * @return
346         *     possible object is
347         *     {@link DtoAuthorizationMap }
348         *     
349         */
350        public DtoAuthorizationMap getAuthorizationMap() {
351            return authorizationMap;
352        }
353
354        /**
355         * Sets the value of the authorizationMap property.
356         * 
357         * @param value
358         *     allowed object is
359         *     {@link DtoAuthorizationMap }
360         *     
361         */
362        public void setAuthorizationMap(DtoAuthorizationMap value) {
363            this.authorizationMap = value;
364        }
365
366        /**
367         * Gets the value of the cachedLDAPAuthorizationMap property.
368         * 
369         * @return
370         *     possible object is
371         *     {@link DtoCachedLDAPAuthorizationMap }
372         *     
373         */
374        public DtoCachedLDAPAuthorizationMap getCachedLDAPAuthorizationMap() {
375            return cachedLDAPAuthorizationMap;
376        }
377
378        /**
379         * Sets the value of the cachedLDAPAuthorizationMap property.
380         * 
381         * @param value
382         *     allowed object is
383         *     {@link DtoCachedLDAPAuthorizationMap }
384         *     
385         */
386        public void setCachedLDAPAuthorizationMap(DtoCachedLDAPAuthorizationMap value) {
387            this.cachedLDAPAuthorizationMap = value;
388        }
389
390        /**
391         * Gets the value of the ldapAuthorizationMap property.
392         * 
393         * @return
394         *     possible object is
395         *     {@link DtoLDAPAuthorizationMap }
396         *     
397         */
398        public DtoLDAPAuthorizationMap getLDAPAuthorizationMap() {
399            return ldapAuthorizationMap;
400        }
401
402        /**
403         * Sets the value of the ldapAuthorizationMap property.
404         * 
405         * @param value
406         *     allowed object is
407         *     {@link DtoLDAPAuthorizationMap }
408         *     
409         */
410        public void setLDAPAuthorizationMap(DtoLDAPAuthorizationMap value) {
411            this.ldapAuthorizationMap = value;
412        }
413
414        /**
415         * Gets the value of the simpleAuthorizationMap property.
416         * 
417         * @return
418         *     possible object is
419         *     {@link DtoSimpleAuthorizationMap }
420         *     
421         */
422        public DtoSimpleAuthorizationMap getSimpleAuthorizationMap() {
423            return simpleAuthorizationMap;
424        }
425
426        /**
427         * Sets the value of the simpleAuthorizationMap property.
428         * 
429         * @param value
430         *     allowed object is
431         *     {@link DtoSimpleAuthorizationMap }
432         *     
433         */
434        public void setSimpleAuthorizationMap(DtoSimpleAuthorizationMap value) {
435            this.simpleAuthorizationMap = value;
436        }
437
438        /**
439         * Gets the value of the any property.
440         * 
441         * @return
442         *     possible object is
443         *     {@link Object }
444         *     
445         */
446        public Object getAny() {
447            return any;
448        }
449
450        /**
451         * Sets the value of the any property.
452         * 
453         * @param value
454         *     allowed object is
455         *     {@link Object }
456         *     
457         */
458        public void setAny(Object value) {
459            this.any = value;
460        }
461
462        public String toString() {
463            final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
464            final StringBuilder buffer = new StringBuilder();
465            append(null, buffer, strategy);
466            return buffer.toString();
467        }
468
469        public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
470            strategy.appendStart(locator, this, buffer);
471            appendFields(locator, buffer, strategy);
472            strategy.appendEnd(locator, this, buffer);
473            return buffer;
474        }
475
476        public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
477            {
478                DtoAuthorizationMap theAuthorizationMap;
479                theAuthorizationMap = this.getAuthorizationMap();
480                strategy.appendField(locator, this, "authorizationMap", buffer, theAuthorizationMap);
481            }
482            {
483                DtoCachedLDAPAuthorizationMap theCachedLDAPAuthorizationMap;
484                theCachedLDAPAuthorizationMap = this.getCachedLDAPAuthorizationMap();
485                strategy.appendField(locator, this, "cachedLDAPAuthorizationMap", buffer, theCachedLDAPAuthorizationMap);
486            }
487            {
488                DtoLDAPAuthorizationMap theLDAPAuthorizationMap;
489                theLDAPAuthorizationMap = this.getLDAPAuthorizationMap();
490                strategy.appendField(locator, this, "ldapAuthorizationMap", buffer, theLDAPAuthorizationMap);
491            }
492            {
493                DtoSimpleAuthorizationMap theSimpleAuthorizationMap;
494                theSimpleAuthorizationMap = this.getSimpleAuthorizationMap();
495                strategy.appendField(locator, this, "simpleAuthorizationMap", buffer, theSimpleAuthorizationMap);
496            }
497            {
498                Object theAny;
499                theAny = this.getAny();
500                strategy.appendField(locator, this, "any", buffer, theAny);
501            }
502            return buffer;
503        }
504
505        public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
506            int currentHashCode = 1;
507            {
508                DtoAuthorizationMap theAuthorizationMap;
509                theAuthorizationMap = this.getAuthorizationMap();
510                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "authorizationMap", theAuthorizationMap), currentHashCode, theAuthorizationMap);
511            }
512            {
513                DtoCachedLDAPAuthorizationMap theCachedLDAPAuthorizationMap;
514                theCachedLDAPAuthorizationMap = this.getCachedLDAPAuthorizationMap();
515                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "cachedLDAPAuthorizationMap", theCachedLDAPAuthorizationMap), currentHashCode, theCachedLDAPAuthorizationMap);
516            }
517            {
518                DtoLDAPAuthorizationMap theLDAPAuthorizationMap;
519                theLDAPAuthorizationMap = this.getLDAPAuthorizationMap();
520                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ldapAuthorizationMap", theLDAPAuthorizationMap), currentHashCode, theLDAPAuthorizationMap);
521            }
522            {
523                DtoSimpleAuthorizationMap theSimpleAuthorizationMap;
524                theSimpleAuthorizationMap = this.getSimpleAuthorizationMap();
525                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "simpleAuthorizationMap", theSimpleAuthorizationMap), currentHashCode, theSimpleAuthorizationMap);
526            }
527            {
528                Object theAny;
529                theAny = this.getAny();
530                currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "any", theAny), currentHashCode, theAny);
531            }
532            return currentHashCode;
533        }
534
535        public int hashCode() {
536            final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
537            return this.hashCode(null, strategy);
538        }
539
540        public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
541            if (!(object instanceof DtoAuthorizationPlugin.Map)) {
542                return false;
543            }
544            if (this == object) {
545                return true;
546            }
547            final DtoAuthorizationPlugin.Map that = ((DtoAuthorizationPlugin.Map) object);
548            {
549                DtoAuthorizationMap lhsAuthorizationMap;
550                lhsAuthorizationMap = this.getAuthorizationMap();
551                DtoAuthorizationMap rhsAuthorizationMap;
552                rhsAuthorizationMap = that.getAuthorizationMap();
553                if (!strategy.equals(LocatorUtils.property(thisLocator, "authorizationMap", lhsAuthorizationMap), LocatorUtils.property(thatLocator, "authorizationMap", rhsAuthorizationMap), lhsAuthorizationMap, rhsAuthorizationMap)) {
554                    return false;
555                }
556            }
557            {
558                DtoCachedLDAPAuthorizationMap lhsCachedLDAPAuthorizationMap;
559                lhsCachedLDAPAuthorizationMap = this.getCachedLDAPAuthorizationMap();
560                DtoCachedLDAPAuthorizationMap rhsCachedLDAPAuthorizationMap;
561                rhsCachedLDAPAuthorizationMap = that.getCachedLDAPAuthorizationMap();
562                if (!strategy.equals(LocatorUtils.property(thisLocator, "cachedLDAPAuthorizationMap", lhsCachedLDAPAuthorizationMap), LocatorUtils.property(thatLocator, "cachedLDAPAuthorizationMap", rhsCachedLDAPAuthorizationMap), lhsCachedLDAPAuthorizationMap, rhsCachedLDAPAuthorizationMap)) {
563                    return false;
564                }
565            }
566            {
567                DtoLDAPAuthorizationMap lhsLDAPAuthorizationMap;
568                lhsLDAPAuthorizationMap = this.getLDAPAuthorizationMap();
569                DtoLDAPAuthorizationMap rhsLDAPAuthorizationMap;
570                rhsLDAPAuthorizationMap = that.getLDAPAuthorizationMap();
571                if (!strategy.equals(LocatorUtils.property(thisLocator, "ldapAuthorizationMap", lhsLDAPAuthorizationMap), LocatorUtils.property(thatLocator, "ldapAuthorizationMap", rhsLDAPAuthorizationMap), lhsLDAPAuthorizationMap, rhsLDAPAuthorizationMap)) {
572                    return false;
573                }
574            }
575            {
576                DtoSimpleAuthorizationMap lhsSimpleAuthorizationMap;
577                lhsSimpleAuthorizationMap = this.getSimpleAuthorizationMap();
578                DtoSimpleAuthorizationMap rhsSimpleAuthorizationMap;
579                rhsSimpleAuthorizationMap = that.getSimpleAuthorizationMap();
580                if (!strategy.equals(LocatorUtils.property(thisLocator, "simpleAuthorizationMap", lhsSimpleAuthorizationMap), LocatorUtils.property(thatLocator, "simpleAuthorizationMap", rhsSimpleAuthorizationMap), lhsSimpleAuthorizationMap, rhsSimpleAuthorizationMap)) {
581                    return false;
582                }
583            }
584            {
585                Object lhsAny;
586                lhsAny = this.getAny();
587                Object rhsAny;
588                rhsAny = that.getAny();
589                if (!strategy.equals(LocatorUtils.property(thisLocator, "any", lhsAny), LocatorUtils.property(thatLocator, "any", rhsAny), lhsAny, rhsAny)) {
590                    return false;
591                }
592            }
593            return true;
594        }
595
596        public boolean equals(Object object) {
597            final EqualsStrategy strategy = new org.apache.activemq.plugin.jaxb2_commons.ElementAwareEqualsStrategy();
598            return equals(null, null, object, strategy);
599        }
600
601    }
602
603}