
package cz.moneta.test.dsl.cebia.iva;

import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
import cz.moneta.test.dsl.cebia.serialization.arrays.ArrayOfstring;


/**
 * <p>Java class for WSEquipmentType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="WSEquipmentType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="Type" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
 *         &lt;element name="Code" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="CodeOM" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Group" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="PackageItems" type="{http://schemas.microsoft.com/2003/10/Serialization/Arrays}ArrayOfstring" minOccurs="0"/&gt;
 *         &lt;element name="Price" type="{http://samo.cz/iva/}WSPriceType" minOccurs="0"/&gt;
 *         &lt;element name="Selected" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "WSEquipmentType", propOrder = {
    "type",
    "code",
    "codeOM",
    "group",
    "description",
    "packageItems",
    "price",
    "selected"
})
public class WSEquipmentType {

    @XmlElement(name = "Type", nillable = true)
    protected Integer type;
    @XmlElement(name = "Code", nillable = true)
    protected String code;
    @XmlElement(name = "CodeOM", nillable = true)
    protected String codeOM;
    @XmlElement(name = "Group", nillable = true)
    protected String group;
    @XmlElement(name = "Description", nillable = true)
    protected String description;
    @XmlElement(name = "PackageItems", nillable = true)
    protected ArrayOfstring packageItems;
    @XmlElement(name = "Price", nillable = true)
    protected WSPriceType price;
    @XmlElement(name = "Selected", nillable = true)
    protected Boolean selected;

    /**
     * Gets the value of the type property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getType() {
        return type;
    }

    /**
     * Sets the value of the type property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setType(Integer value) {
        this.type = value;
    }

    /**
     * Gets the value of the code property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCode() {
        return code;
    }

    /**
     * Sets the value of the code property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCode(String value) {
        this.code = value;
    }

    /**
     * Gets the value of the codeOM property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCodeOM() {
        return codeOM;
    }

    /**
     * Sets the value of the codeOM property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCodeOM(String value) {
        this.codeOM = value;
    }

    /**
     * Gets the value of the group property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGroup() {
        return group;
    }

    /**
     * Sets the value of the group property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGroup(String value) {
        this.group = value;
    }

    /**
     * Gets the value of the description property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the value of the description property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

    /**
     * Gets the value of the packageItems property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfstring }
     *     
     */
    public ArrayOfstring getPackageItems() {
        return packageItems;
    }

    /**
     * Sets the value of the packageItems property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfstring }
     *     
     */
    public void setPackageItems(ArrayOfstring value) {
        this.packageItems = value;
    }

    /**
     * Gets the value of the price property.
     * 
     * @return
     *     possible object is
     *     {@link WSPriceType }
     *     
     */
    public WSPriceType getPrice() {
        return price;
    }

    /**
     * Sets the value of the price property.
     * 
     * @param value
     *     allowed object is
     *     {@link WSPriceType }
     *     
     */
    public void setPrice(WSPriceType value) {
        this.price = value;
    }

    /**
     * Gets the value of the selected property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isSelected() {
        return selected;
    }

    /**
     * Sets the value of the selected property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setSelected(Boolean value) {
        this.selected = value;
    }

    public WSEquipmentType withType(Integer value) {
        setType(value);
        return this;
    }

    public WSEquipmentType withCode(String value) {
        setCode(value);
        return this;
    }

    public WSEquipmentType withCodeOM(String value) {
        setCodeOM(value);
        return this;
    }

    public WSEquipmentType withGroup(String value) {
        setGroup(value);
        return this;
    }

    public WSEquipmentType withDescription(String value) {
        setDescription(value);
        return this;
    }

    public WSEquipmentType withPackageItems(ArrayOfstring value) {
        setPackageItems(value);
        return this;
    }

    public WSEquipmentType withPrice(WSPriceType value) {
        setPrice(value);
        return this;
    }

    public WSEquipmentType withSelected(Boolean value) {
        setSelected(value);
        return this;
    }

}
