//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2013.11.27 at 10:30:04 AM CET 
//

package com.ejie.platea.generic.xml;

import java.util.Arrays;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.HexBinaryAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

/**
 * <p>
 * Java class for anonymous complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="documentType" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="oid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="roleId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element ref="{com/ejie/platea/generic/xml}roleName" minOccurs="0"/>
 *         &lt;element name="code" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="sourceName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="sourceBinary" type="{http://www.w3.org/2001/XMLSchema}hexBinary" minOccurs="0"/>
 *         &lt;element name="contentBase64" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="extension" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="location" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="hash" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="mimeType" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="procedureID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="departmentID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="entityID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/platea/generic/xml}procedureName" minOccurs="0"/>
 *         &lt;element name="escaneado" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="format" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/platea/generic/xml}signatures" minOccurs="0"/>
 *         &lt;element ref="{com/ejie/platea/generic/xml}descriptors"/>
 *         &lt;element name="TER" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="svtInfo" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * @author GFI-NORTE
 */
@XmlAccessorType(value = XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "documentType", "oid", "roleId", "roleName",
		"code", "sourceName", "sourceBinary", "contentBase64", "extension",
		"location", "hash", "mimeType", "procedureID", "departmentID",
		"entityID", "procedureName", "escaneado", "format", "signatures",
		"descriptors", "ter", "svtInfo" })
@XmlRootElement(name = "document")
public class Document {

	@XmlElement(required = true)
	private String documentType;
	private String oid;
	@XmlElement(required = true)
	private String roleId;
	private RoleName roleName;
	private String code;
	private String sourceName;
	@XmlElement(type = String.class)
	@XmlJavaTypeAdapter(value = HexBinaryAdapter.class)
	@XmlSchemaType(name = "hexBinary")
	private byte[] sourceBinary;
	private String contentBase64;
	private String extension;
	private String location;
	private String hash;
	private String mimeType;
	@XmlElement(required = true)
	private String procedureID;
	private String departmentID;
	private String entityID;
	private ProcedureName procedureName;
	private String escaneado;
	private String format;
	private Signatures signatures;
	@XmlElement(required = true)
	private Descriptors descriptors;
	@XmlElement(name = "TER")
	private String ter;
	private Object svtInfo;

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

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

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

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

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

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

	/**
	 * Gets the value of the roleName property.
	 * 
	 * @return possible object is {@link RoleName }
	 * 
	 */
	public RoleName getRoleName() {
		return this.roleName;
	}

	/**
	 * Sets the value of the roleName property.
	 * 
	 * @param value
	 *            allowed object is {@link RoleName }
	 * 
	 */
	public void setRoleName(RoleName value) {
		this.roleName = value;
	}

	/**
	 * Gets the value of the code property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getCode() {
		return this.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 sourceName property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getSourceName() {
		return this.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 sourceBinary property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public byte[] getSourceBinary() {
		return this.sourceBinary;
	}

	/**
	 * Sets the value of the sourceBinary property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setSourceBinary(byte[] value) {
		if (value == null) {
			this.sourceBinary = new byte[0];
		} else {
			this.sourceBinary = Arrays.copyOf(value, value.length);
		}
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	/**
	 * Gets the value of the procedureName property.
	 * 
	 * @return possible object is {@link ProcedureName }
	 * 
	 */
	public ProcedureName getProcedureName() {
		return this.procedureName;
	}

	/**
	 * Sets the value of the procedureName property.
	 * 
	 * @param value
	 *            allowed object is {@link ProcedureName }
	 * 
	 */
	public void setProcedureName(ProcedureName value) {
		this.procedureName = value;
	}

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

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

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

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

	/**
	 * Gets the value of the signatures property.
	 * 
	 * @return possible object is {@link Signatures }
	 * 
	 */
	public Signatures getSignatures() {
		return this.signatures;
	}

	/**
	 * Sets the value of the signatures property.
	 * 
	 * @param value
	 *            allowed object is {@link Signatures }
	 * 
	 */
	public void setSignatures(Signatures value) {
		this.signatures = value;
	}

	/**
	 * Gets the value of the descriptors property.
	 * 
	 * @return possible object is {@link Descriptors }
	 * 
	 */
	public Descriptors getDescriptors() {
		return this.descriptors;
	}

	/**
	 * Sets the value of the descriptors property.
	 * 
	 * @param value
	 *            allowed object is {@link Descriptors }
	 * 
	 */
	public void setDescriptors(Descriptors value) {
		this.descriptors = value;
	}

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

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

	/**
	 * Gets the value of the svtInfo property.
	 * 
	 * @return possible object is {@link Object }
	 * 
	 */
	public Object getSvtInfo() {
		return this.svtInfo;
	}

	/**
	 * Sets the value of the svtInfo property.
	 * 
	 * @param value
	 *            allowed object is {@link Object }
	 * 
	 */
	public void setSvtInfo(Object value) {
		this.svtInfo = value;
	}

}
