
package com.ejie.ad74a.ws.client.platea.tareasTramitacion;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Clase Java para AWaitBasic complex type.
 * 
 * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
 * 
 * <pre>
 * &lt;complexType name="AWaitBasic"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}waitID"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}folderID"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}mailboxID"/&gt;
 *         &lt;element name="originType" type="{com/ejie/x43s/v2/ttn/xml}TWaitOriginType"/&gt;
 *         &lt;element name="type" type="{com/ejie/x43s/v2/ttn/xml}TWaitType"/&gt;
 *         &lt;element name="typeDescription" type="{com/ejie/x43s/v2/ttn/xml}TTextI18N"/&gt;
 *         &lt;element name="term" type="{com/ejie/x43s/v2/ttn/xml}TTerm"/&gt;
 *         &lt;element name="creationDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime"/&gt;
 *         &lt;element name="maxWaitDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime"/&gt;
 *         &lt;element name="endWaitDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AWaitBasic", propOrder = {
    "waitID",
    "folderID",
    "mailboxID",
    "originType",
    "type",
    "typeDescription",
    "term",
    "creationDate",
    "maxWaitDate",
    "endWaitDate"
})
@XmlSeeAlso({
    TWait.class,
    TFolderWait.class
})
public abstract class AWaitBasic {

    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String waitID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String folderID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String mailboxID;
    @XmlElement(required = true)
    @XmlSchemaType(name = "string")
    protected TWaitOriginType originType;
    @XmlElement(required = true)
    @XmlSchemaType(name = "string")
    protected TWaitType type;
    @XmlElement(required = true)
    protected TTextI18N typeDescription;
    @XmlElement(required = true)
    protected TTerm term;
    @XmlElement(required = true)
    protected String creationDate;
    @XmlElement(required = true)
    protected String maxWaitDate;
    protected String endWaitDate;

    /**
     * Obtiene el valor de la propiedad waitID.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWaitID() {
        return waitID;
    }

    /**
     * Define el valor de la propiedad waitID.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWaitID(String value) {
        this.waitID = value;
    }

    /**
     * Obtiene el valor de la propiedad folderID.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFolderID() {
        return folderID;
    }

    /**
     * Define el valor de la propiedad folderID.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFolderID(String value) {
        this.folderID = value;
    }

    /**
     * Obtiene el valor de la propiedad mailboxID.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMailboxID() {
        return mailboxID;
    }

    /**
     * Define el valor de la propiedad mailboxID.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMailboxID(String value) {
        this.mailboxID = value;
    }

    /**
     * Obtiene el valor de la propiedad originType.
     * 
     * @return
     *     possible object is
     *     {@link TWaitOriginType }
     *     
     */
    public TWaitOriginType getOriginType() {
        return originType;
    }

    /**
     * Define el valor de la propiedad originType.
     * 
     * @param value
     *     allowed object is
     *     {@link TWaitOriginType }
     *     
     */
    public void setOriginType(TWaitOriginType value) {
        this.originType = value;
    }

    /**
     * Obtiene el valor de la propiedad type.
     * 
     * @return
     *     possible object is
     *     {@link TWaitType }
     *     
     */
    public TWaitType getType() {
        return type;
    }

    /**
     * Define el valor de la propiedad type.
     * 
     * @param value
     *     allowed object is
     *     {@link TWaitType }
     *     
     */
    public void setType(TWaitType value) {
        this.type = value;
    }

    /**
     * Obtiene el valor de la propiedad typeDescription.
     * 
     * @return
     *     possible object is
     *     {@link TTextI18N }
     *     
     */
    public TTextI18N getTypeDescription() {
        return typeDescription;
    }

    /**
     * Define el valor de la propiedad typeDescription.
     * 
     * @param value
     *     allowed object is
     *     {@link TTextI18N }
     *     
     */
    public void setTypeDescription(TTextI18N value) {
        this.typeDescription = value;
    }

    /**
     * Obtiene el valor de la propiedad term.
     * 
     * @return
     *     possible object is
     *     {@link TTerm }
     *     
     */
    public TTerm getTerm() {
        return term;
    }

    /**
     * Define el valor de la propiedad term.
     * 
     * @param value
     *     allowed object is
     *     {@link TTerm }
     *     
     */
    public void setTerm(TTerm value) {
        this.term = value;
    }

    /**
     * Obtiene el valor de la propiedad creationDate.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCreationDate() {
        return creationDate;
    }

    /**
     * Define el valor de la propiedad creationDate.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCreationDate(String value) {
        this.creationDate = value;
    }

    /**
     * Obtiene el valor de la propiedad maxWaitDate.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMaxWaitDate() {
        return maxWaitDate;
    }

    /**
     * Define el valor de la propiedad maxWaitDate.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMaxWaitDate(String value) {
        this.maxWaitDate = value;
    }

    /**
     * Obtiene el valor de la propiedad endWaitDate.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEndWaitDate() {
        return endWaitDate;
    }

    /**
     * Define el valor de la propiedad endWaitDate.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEndWaitDate(String value) {
        this.endWaitDate = value;
    }

}
