
package com.ejie.ab61.clientesWS.X43ExpedienteElectronico;

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


/**
 * <p>Java class for TDocument complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="TDocument">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="isObligatory" type="{com/ejie/x43s/v2/ttn/xml}TBoolean" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}isSupport" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentType"/>
 *         &lt;element name="documentTypeName" type="{com/ejie/x43s/v2/ttn/xml}TTextI18N"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentID"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentName"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}dokusiID"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentRoleID"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentRoleName"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}author" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}title" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}nature" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}language" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}sourceName"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}extensionList"/>
 *         &lt;element name="format" type="{com/ejie/x43s/v2/ttn/xml}TDocFormatType"/>
 *         &lt;element name="documentDate" type="{com/ejie/x43s/v2/ttn/xml}TDateTime" minOccurs="0"/>
 *         &lt;element name="status" type="{com/ejie/x43s/v2/ttn/xml}TDocStatus"/>
 *         &lt;element name="statusAD" type="{com/ejie/x43s/v2/ttn/xml}TDocADStatus"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ttn/xml}documentPath"/>
 *         &lt;choice>
 *           &lt;element ref="{com/ejie/x43s/v2/ttn/xml}isScanned"/>
 *           &lt;element name="signerList" type="{com/ejie/x43s/v2/ttn/xml}TSignerList"/>
 *         &lt;/choice>
 *         &lt;element ref="{com/ejie/x43s/v2/ree/xml}study" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/x43s/v2/ree/xml}annulment" minOccurs="0"/>
 *         &lt;choice minOccurs="0">
 *           &lt;element ref="{com/ejie/x43s/v2/ree/xml}commited"/>
 *           &lt;element ref="{com/ejie/x43s/v2/ree/xml}authorization"/>
 *         &lt;/choice>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </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"
})
public class TDocument {

    protected TBoolean isObligatory;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    protected TBoolean isSupport;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected TDocumentType documentType;
    @XmlElement(required = true)
    protected TTextI18N documentTypeName;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    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)
    protected String dokusiID;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    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")
    protected TDocNatureType nature;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    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)
    protected TDocFormatType format;
    protected String documentDate;
    @XmlElement(required = true)
    protected TDocStatus status;
    @XmlElement(required = true)
    protected TDocADStatus statusAD;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml", required = true)
    protected String documentPath;
    @XmlElement(namespace = "com/ejie/x43s/v2/ttn/xml")
    protected TBoolean isScanned;
    protected TSignerList signerList;
    protected TDocumentStudy study;
    protected TDocumentAnnulment annulment;
    protected TDocumentCommited commited;
    protected TAuthorization authorization;

    /**
     * Gets the value of the isObligatory property.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsObligatory() {
        return isObligatory;
    }

    /**
     * Sets the value of the isObligatory property.
     * 
     * @param value
     *     allowed object is
     *     {@link TBoolean }
     *     
     */
    public void setIsObligatory(TBoolean value) {
        this.isObligatory = value;
    }

    /**
     * Gets the value of the isSupport property.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsSupport() {
        return isSupport;
    }

    /**
     * Sets the value of the isSupport property.
     * 
     * @param value
     *     allowed object is
     *     {@link TBoolean }
     *     
     */
    public void setIsSupport(TBoolean value) {
        this.isSupport = value;
    }

    /**
     * Gets the value of the documentType property.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentType }
     *     
     */
    public TDocumentType getDocumentType() {
        return documentType;
    }

    /**
     * Sets the value of the documentType property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocumentType }
     *     
     */
    public void setDocumentType(TDocumentType value) {
        this.documentType = value;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the nature property.
     * 
     * @return
     *     possible object is
     *     {@link TDocNatureType }
     *     
     */
    public TDocNatureType getNature() {
        return nature;
    }

    /**
     * Sets the value of the nature property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocNatureType }
     *     
     */
    public void setNature(TDocNatureType value) {
        this.nature = value;
    }

    /**
     * Gets the value of the language property.
     * 
     * @return
     *     possible object is
     *     {@link TLanguage }
     *     
     */
    public TLanguage getLanguage() {
        return language;
    }

    /**
     * Sets the value of the language property.
     * 
     * @param value
     *     allowed object is
     *     {@link TLanguage }
     *     
     */
    public void setLanguage(TLanguage value) {
        this.language = value;
    }

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

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

    /**
     * Gets the value of the extensionList property.
     * 
     * @return
     *     possible object is
     *     {@link TStringList }
     *     
     */
    public TStringList getExtensionList() {
        return extensionList;
    }

    /**
     * Sets the value of the extensionList property.
     * 
     * @param value
     *     allowed object is
     *     {@link TStringList }
     *     
     */
    public void setExtensionList(TStringList value) {
        this.extensionList = value;
    }

    /**
     * Gets the value of the format property.
     * 
     * @return
     *     possible object is
     *     {@link TDocFormatType }
     *     
     */
    public TDocFormatType getFormat() {
        return format;
    }

    /**
     * Sets the value of the format property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocFormatType }
     *     
     */
    public void setFormat(TDocFormatType value) {
        this.format = value;
    }

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

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

    /**
     * Gets the value of the status property.
     * 
     * @return
     *     possible object is
     *     {@link TDocStatus }
     *     
     */
    public TDocStatus getStatus() {
        return status;
    }

    /**
     * Sets the value of the status property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocStatus }
     *     
     */
    public void setStatus(TDocStatus value) {
        this.status = value;
    }

    /**
     * Gets the value of the statusAD property.
     * 
     * @return
     *     possible object is
     *     {@link TDocADStatus }
     *     
     */
    public TDocADStatus getStatusAD() {
        return statusAD;
    }

    /**
     * Sets the value of the statusAD property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocADStatus }
     *     
     */
    public void setStatusAD(TDocADStatus value) {
        this.statusAD = value;
    }

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

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

    /**
     * Gets the value of the isScanned property.
     * 
     * @return
     *     possible object is
     *     {@link TBoolean }
     *     
     */
    public TBoolean getIsScanned() {
        return isScanned;
    }

    /**
     * Sets the value of the isScanned property.
     * 
     * @param value
     *     allowed object is
     *     {@link TBoolean }
     *     
     */
    public void setIsScanned(TBoolean value) {
        this.isScanned = value;
    }

    /**
     * Gets the value of the signerList property.
     * 
     * @return
     *     possible object is
     *     {@link TSignerList }
     *     
     */
    public TSignerList getSignerList() {
        return signerList;
    }

    /**
     * Sets the value of the signerList property.
     * 
     * @param value
     *     allowed object is
     *     {@link TSignerList }
     *     
     */
    public void setSignerList(TSignerList value) {
        this.signerList = value;
    }

    /**
     * Gets the value of the study property.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentStudy }
     *     
     */
    public TDocumentStudy getStudy() {
        return study;
    }

    /**
     * Sets the value of the study property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocumentStudy }
     *     
     */
    public void setStudy(TDocumentStudy value) {
        this.study = value;
    }

    /**
     * Gets the value of the annulment property.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentAnnulment }
     *     
     */
    public TDocumentAnnulment getAnnulment() {
        return annulment;
    }

    /**
     * Sets the value of the annulment property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocumentAnnulment }
     *     
     */
    public void setAnnulment(TDocumentAnnulment value) {
        this.annulment = value;
    }

    /**
     * Gets the value of the commited property.
     * 
     * @return
     *     possible object is
     *     {@link TDocumentCommited }
     *     
     */
    public TDocumentCommited getCommited() {
        return commited;
    }

    /**
     * Sets the value of the commited property.
     * 
     * @param value
     *     allowed object is
     *     {@link TDocumentCommited }
     *     
     */
    public void setCommited(TDocumentCommited value) {
        this.commited = value;
    }

    /**
     * Gets the value of the authorization property.
     * 
     * @return
     *     possible object is
     *     {@link TAuthorization }
     *     
     */
    public TAuthorization getAuthorization() {
        return authorization;
    }

    /**
     * Sets the value of the authorization property.
     * 
     * @param value
     *     allowed object is
     *     {@link TAuthorization }
     *     
     */
    public void setAuthorization(TAuthorization value) {
        this.authorization = value;
    }

}
