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

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.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Clase Java para TDocument complex type.
 * 
 * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
 * 
 * <pre>
 * &lt;complexType name="TDocument"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="isObligatory" type="{com/ejie/x43s/v2/ttn/xml}TBoolean" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}isSupport" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentType"/&gt;
 *         &lt;element name="documentTypeName" type="{com/ejie/x43s/v2/ttn/xml}TTextI18N"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentID"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentName"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}dokusiID"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentRoleID"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentRoleName"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}author" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}title" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}nature" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}language" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}sourceName"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}extensionList"/&gt;
 *         &lt;element name="format" type="{com/ejie/x43s/v2/ttn/xml}TDocFormatType"/&gt;
 *         &lt;element name="documentDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime" minOccurs="0"/&gt;
 *         &lt;element name="status" type="{com/ejie/x43s/v2/ttn/xml}TDocStatus"/&gt;
 *         &lt;element name="statusAD" type="{com/ejie/x43s/v2/ttn/xml}TDocADStatus"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentPath"/&gt;
 *         &lt;choice&gt;
 *           &lt;element ref="{com/ejie/x43s/v2/ttn/xml}isScanned"/&gt;
 *           &lt;element name="signerList" type="{com/ejie/x43s/v2/ttn/xml}TSignerList"/&gt;
 *         &lt;/choice&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ree/xml}study" minOccurs="0"/&gt;
 *         &lt;element ref="{com/ejie/x43s/v2/ree/xml}annulment" minOccurs="0"/&gt;
 *         &lt;choice minOccurs="0"&gt;
 *           &lt;element ref="{com/ejie/x43s/v2/ree/xml}commited"/&gt;
 *           &lt;element ref="{com/ejie/x43s/v2/ree/xml}authorization"/&gt;
 *         &lt;/choice&gt;
 *         &lt;element name="authorizationHistoryList" type="{com/ejie/x43s/v2/ree/xml}TAuthorizationDocumentList" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TDocument", propOrder = {
    "isObligatory",
    "isSupport",
    "documentType",
    "documentTypeName",
    "documentID",
    "documentName",
    "dokusiID",
    "documentRoleID",
    "documentRoleName",
    "author",
    "title",
    "nature",
    "language",
    "sourceName",
    "extensionList",
    "format",
    "documentDate",
    "status",
    "statusAD",
    "documentPath",
    "isScanned",
    "signerList",
    "study",
    "annulment",
    "commited",
    "authorization",
    "authorizationHistoryList"
})
public class TDocument {

    @XmlSchemaType(name = "string")
    protected TBoolean isObligatory;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    @XmlSchemaType(name = "string")
    protected TBoolean isSupport;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlSchemaType(name = "string")
    protected TDocumentType documentType;
    @XmlElement(required = true)
    protected TTextI18N documentTypeName;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String documentID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected TTextI18N documentName;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String dokusiID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    @XmlSchemaType(name = "token")
    protected String documentRoleID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected TTextI18N documentRoleName;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    protected String author;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    protected String title;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    @XmlSchemaType(name = "string")
    protected TDocNatureType nature;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    @XmlSchemaType(name = "string")
    protected TLanguage language;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected String sourceName;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected TStringList extensionList;
    @XmlElement(required = true)
    @XmlSchemaType(name = "string")
    protected TDocFormatType format;
    protected String documentDate;
    @XmlElement(required = true)
    @XmlSchemaType(name = "string")
    protected TDocStatus status;
    @XmlElement(required = true)
    @XmlSchemaType(name = "string")
    protected TDocADStatus statusAD;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected String documentPath;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    @XmlSchemaType(name = "string")
    protected TBoolean isScanned;
    protected TSignerList signerList;
    protected TDocumentStudy study;
    protected TDocumentAnnulment annulment;
    protected TDocumentCommited commited;
    protected TAuthorization authorization;
    protected TAuthorizationDocumentList authorizationHistoryList;

    /**
     * Obtiene el valor de la propiedad isObligatory.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsObligatory() {
        return isObligatory;
    }

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

    /**
     * Obtiene el valor de la propiedad isSupport.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsSupport() {
        return isSupport;
    }

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

    /**
     * Obtiene el valor de la propiedad documentType.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentType }
     *     
     */
    public TDocumentType getDocumentType() {
        return documentType;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Obtiene el valor de la propiedad nature.
     * 
     * @return
     *     possible object is
     *     {@link TDocNatureType }
     *     
     */
    public TDocNatureType getNature() {
        return nature;
    }

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

    /**
     * Obtiene el valor de la propiedad language.
     * 
     * @return
     *     possible object is
     *     {@link TLanguage }
     *     
     */
    public TLanguage getLanguage() {
        return language;
    }

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

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

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

    /**
     * Obtiene el valor de la propiedad extensionList.
     * 
     * @return
     *     possible object is
     *     {@link TStringList }
     *     
     */
    public TStringList getExtensionList() {
        return extensionList;
    }

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

    /**
     * Obtiene el valor de la propiedad format.
     * 
     * @return
     *     possible object is
     *     {@link TDocFormatType }
     *     
     */
    public TDocFormatType getFormat() {
        return format;
    }

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

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

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

    /**
     * Obtiene el valor de la propiedad status.
     * 
     * @return
     *     possible object is
     *     {@link TDocStatus }
     *     
     */
    public TDocStatus getStatus() {
        return status;
    }

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

    /**
     * Obtiene el valor de la propiedad statusAD.
     * 
     * @return
     *     possible object is
     *     {@link TDocADStatus }
     *     
     */
    public TDocADStatus getStatusAD() {
        return statusAD;
    }

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

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

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

    /**
     * Obtiene el valor de la propiedad isScanned.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsScanned() {
        return isScanned;
    }

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

    /**
     * Obtiene el valor de la propiedad signerList.
     * 
     * @return
     *     possible object is
     *     {@link TSignerList }
     *     
     */
    public TSignerList getSignerList() {
        return signerList;
    }

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

    /**
     * Obtiene el valor de la propiedad study.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentStudy }
     *     
     */
    public TDocumentStudy getStudy() {
        return study;
    }

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

    /**
     * Obtiene el valor de la propiedad annulment.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentAnnulment }
     *     
     */
    public TDocumentAnnulment getAnnulment() {
        return annulment;
    }

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

    /**
     * Obtiene el valor de la propiedad commited.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentCommited }
     *     
     */
    public TDocumentCommited getCommited() {
        return commited;
    }

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

    /**
     * Obtiene el valor de la propiedad authorization.
     * 
     * @return
     *     possible object is
     *     {@link TAuthorization }
     *     
     */
    public TAuthorization getAuthorization() {
        return authorization;
    }

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

    /**
     * Obtiene el valor de la propiedad authorizationHistoryList.
     * 
     * @return
     *     possible object is
     *     {@link TAuthorizationDocumentList }
     *     
     */
    public TAuthorizationDocumentList getAuthorizationHistoryList() {
        return authorizationHistoryList;
    }

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

}
