//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2011.01.27 at 08:53:01 PM MEZ
//
package de.openstreetmap.josm.tagging_preset_1;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyAttribute;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
/**
* <p>
* Java class for item complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
*
* <pre>
* <complexType name="item">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <choice maxOccurs="unbounded" minOccurs="0">
* <group ref="{http://josm.openstreetmap.de/tagging-preset-1.0}optional_elements"/>
* <element name="key" type="{http://josm.openstreetmap.de/tagging-preset-1.0}key"/>
* <element name="optional" type="{http://josm.openstreetmap.de/tagging-preset-1.0}optional" minOccurs="0"/>
* </choice>
* <element name="roles" type="{http://josm.openstreetmap.de/tagging-preset-1.0}roles" minOccurs="0"/>
* </sequence>
* <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="icon" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
* <anyAttribute processContents='skip'/>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "item", propOrder = { "labelOrSpaceOrLink", "roles" })
public class Item {
@XmlElements({ @XmlElement(name = "label", type = Label.class),
@XmlElement(name = "optional", type = Optional.class),
@XmlElement(name = "key", type = Key.class),
@XmlElement(name = "check", type = Check.class),
@XmlElement(name = "space", type = Space.class),
@XmlElement(name = "combo", type = Combo.class),
@XmlElement(name = "multiselect", type = Multiselect.class),
@XmlElement(name = "link", type = Link.class),
@XmlElement(name = "text", type = Text.class) })
protected List<Object> labelOrSpaceOrLink;
protected Roles roles;
@XmlAttribute
protected String name;
@XmlAttribute
protected String icon;
@XmlAttribute
protected String type;
@XmlAnyAttribute
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
/**
* Gets the value of the labelOrSpaceOrLink property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the labelOrSpaceOrLink property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getLabelOrSpaceOrLink().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Label }
* {@link Optional } {@link Key } {@link Check } {@link Space } {@link Combo }
* {@link Multiselect } {@link Link } {@link Text }
*
*
*/
public List<Object> getLabelOrSpaceOrLink() {
if (labelOrSpaceOrLink == null) {
labelOrSpaceOrLink = new ArrayList<Object>();
}
return this.labelOrSpaceOrLink;
}
/**
* Gets the value of the roles property.
*
* @return possible object is {@link Roles }
*
*/
public Roles getRoles() {
return roles;
}
/**
* Sets the value of the roles property.
*
* @param value
* allowed object is {@link Roles }
*
*/
public void setRoles(Roles value) {
this.roles = value;
}
/**
* Gets the value of the name property.
*
* @return possible object is {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the icon property.
*
* @return possible object is {@link String }
*
*/
public String getIcon() {
return icon;
}
/**
* Sets the value of the icon property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setIcon(String value) {
this.icon = value;
}
/**
* Gets the value of the type property.
*
* @return possible object is {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
/**
* Gets a map that contains attributes that aren't bound to any typed
* property on this class.
*
* <p>
* the map is keyed by the name of the attribute and the value is the string
* value of the attribute.
*
* the map returned by this method is live, and you can add new attribute by
* updating the map directly. Because of this design, there's no setter.
*
*
* @return always non-null
*/
public Map<QName, String> getOtherAttributes() {
return otherAttributes;
}
}