
package com.ejie.ab61.clientesWS.X43TareasTramitacion;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
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>Java class for AWaitBasic complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="AWaitBasic">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}waitID"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}folderID"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}mailboxID"/>
 *         &lt;element name="originType" type="{com/ejie/x43s/v2/ttn/xml}TWaitOriginType"/>
 *         &lt;element name="type" type="{com/ejie/x43s/v2/ttn/xml}TWaitType"/>
 *         &lt;element name="typeDescription" type="{com/ejie/x43s/v2/ttn/xml}TTextI18N"/>
 *         &lt;element name="term" type="{com/ejie/x43s/v2/ttn/xml}TTerm"/>
 *         &lt;element name="creationDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime"/>
 *         &lt;element name="maxWaitDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime"/>
 *         &lt;element name="endWaitDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </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)
    protected String waitID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String folderID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String mailboxID;
    @XmlElement(required = true)
    protected TWaitOriginType originType;
    @XmlElement(required = true)
    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;

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

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

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

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

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

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

    /**
     * Gets the value of the originType property.
     * 
     * @return
     *     possible object is
     *     {@link TWaitOriginType }
     *     
     */
    public TWaitOriginType getOriginType() {
        return originType;
    }

    /**
     * Sets the value of the originType property.
     * 
     * @param value
     *     allowed object is
     *     {@link TWaitOriginType }
     *     
     */
    public void setOriginType(TWaitOriginType value) {
        this.originType = value;
    }

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

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

    /**
     * Gets the value of the typeDescription property.
     * 
     * @return
     *     possible object is
     *     {@link TTextI18N }
     *     
     */
    public TTextI18N getTypeDescription() {
        return typeDescription;
    }

    /**
     * Sets the value of the typeDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link TTextI18N }
     *     
     */
    public void setTypeDescription(TTextI18N value) {
        this.typeDescription = value;
    }

    /**
     * Gets the value of the term property.
     * 
     * @return
     *     possible object is
     *     {@link TTerm }
     *     
     */
    public TTerm getTerm() {
        return term;
    }

    /**
     * Sets the value of the term property.
     * 
     * @param value
     *     allowed object is
     *     {@link TTerm }
     *     
     */
    public void setTerm(TTerm value) {
        this.term = value;
    }

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

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

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

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

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

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

}
