package com.ejie.aa20b.model;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import java.sql.Blob;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

/**
 * Planos generated by UDA, 12-ene-2015 16:11:59.
 * 
 * @author UDA
 */

public class Planos implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idplano;
	private Long idpadre;
	private String idedificio;
	private Integer idzona;
	private Integer idplanta;
	private Long ejexdesde;
	private Long ejeydesde;
	private String ejexhasta;
	private Long ejeyhasta;
	private String baja;
	private Date feini;
	private Blob dibujo;
	private byte[] planoDibujo; // Para recoger el plano cargado

	private Edificios edificio;
	private Zonas zona;
	private Plantas planta;

	private String descPlano;

	/**
	 * Method 'Planos'.
	 */
	public Planos() {
	}

	/**
	 * Method 'Planos'.
	 * 
	 * @param idplano
	 *            Long
	 * @param idpadre
	 *            Long
	 * @param idedificio
	 *            String
	 * @param idzona
	 *            Integer
	 * @param idplanta
	 *            Integer
	 * @param ejexdesde
	 *            Long
	 * @param ejeydesde
	 *            Long
	 * @param ejexhasta
	 *            String
	 * @param ejeyhasta
	 *            Long
	 * @param baja
	 *            String
	 * @param feini
	 *            Date
	 * @param dibujo
	 *            Blob
	 */
	public Planos(Long idplano, Long idpadre, String idedificio,
			Integer idzona, Integer idplanta, Long ejexdesde, Long ejeydesde,
			String ejexhasta, Long ejeyhasta, String baja, Date feini,
			Blob dibujo) {

		this.idplano = idplano;
		this.idpadre = idpadre;
		this.idedificio = idedificio;
		this.idzona = idzona;
		this.idplanta = idplanta;
		this.ejexdesde = ejexdesde;
		this.ejeydesde = ejeydesde;
		this.ejexhasta = ejexhasta;
		this.ejeyhasta = ejeyhasta;
		this.baja = baja;
		this.feini = feini;
		this.dibujo = dibujo;
	}

	/**
	 * Method 'getIdplano'.
	 * 
	 * @return Long
	 */

	public Long getIdplano() {
		return this.idplano;
	}

	/**
	 * Method 'setIdplano'.
	 * 
	 * @param idplano
	 *            Long
	 * @return
	 */

	public void setIdplano(Long idplano) {
		this.idplano = idplano;
	}

	/**
	 * Method 'getIdpadre'.
	 * 
	 * @return Long
	 */

	public Long getIdpadre() {
		return this.idpadre;
	}

	/**
	 * Method 'setIdpadre'.
	 * 
	 * @param idpadre
	 *            Long
	 * @return
	 */

	public void setIdpadre(Long idpadre) {
		this.idpadre = idpadre;
	}

	/**
	 * Method 'getIdedificio'.
	 * 
	 * @return String
	 */

	public String getIdedificio() {
		return this.idedificio;
	}

	/**
	 * Method 'setIdedificio'.
	 * 
	 * @param idedificio
	 *            String
	 * @return
	 */

	public void setIdedificio(String idedificio) {
		this.idedificio = idedificio;
	}

	/**
	 * Method 'getIdzona'.
	 * 
	 * @return Integer
	 */

	public Integer getIdzona() {
		return this.idzona;
	}

	/**
	 * Method 'setIdzona'.
	 * 
	 * @param idzona
	 *            Integer
	 * @return
	 */

	public void setIdzona(Integer idzona) {
		this.idzona = idzona;
	}

	/**
	 * Method 'getIdplanta'.
	 * 
	 * @return Integer
	 */

	public Integer getIdplanta() {
		return this.idplanta;
	}

	/**
	 * Method 'setIdplanta'.
	 * 
	 * @param idplanta
	 *            Integer
	 * @return
	 */

	public void setIdplanta(Integer idplanta) {
		this.idplanta = idplanta;
	}

	/**
	 * Method 'getEjexdesde'.
	 * 
	 * @return Long
	 */

	public Long getEjexdesde() {
		return this.ejexdesde;
	}

	/**
	 * Method 'setEjexdesde'.
	 * 
	 * @param ejexdesde
	 *            Long
	 * @return
	 */

	public void setEjexdesde(Long ejexdesde) {
		this.ejexdesde = ejexdesde;
	}

	/**
	 * Method 'getEjeydesde'.
	 * 
	 * @return Long
	 */

	public Long getEjeydesde() {
		return this.ejeydesde;
	}

	/**
	 * Method 'setEjeydesde'.
	 * 
	 * @param ejeydesde
	 *            Long
	 * @return
	 */

	public void setEjeydesde(Long ejeydesde) {
		this.ejeydesde = ejeydesde;
	}

	/**
	 * Method 'getEjexhasta'.
	 * 
	 * @return String
	 */

	public String getEjexhasta() {
		return this.ejexhasta;
	}

	/**
	 * Method 'setEjexhasta'.
	 * 
	 * @param ejexhasta
	 *            String
	 * @return
	 */

	public void setEjexhasta(String ejexhasta) {
		this.ejexhasta = ejexhasta;
	}

	/**
	 * Method 'getEjeyhasta'.
	 * 
	 * @return Long
	 */

	public Long getEjeyhasta() {
		return this.ejeyhasta;
	}

	/**
	 * Method 'setEjeyhasta'.
	 * 
	 * @param ejeyhasta
	 *            Long
	 * @return
	 */

	public void setEjeyhasta(Long ejeyhasta) {
		this.ejeyhasta = ejeyhasta;
	}

	/**
	 * Method 'getBaja'.
	 * 
	 * @return String
	 */

	public String getBaja() {
		return this.baja;
	}

	/**
	 * Method 'setBaja'.
	 * 
	 * @param baja
	 *            String
	 * @return
	 */

	public void setBaja(String baja) {
		this.baja = baja;
	}

	/**
	 * Method 'getFeini'.
	 * 
	 * @return Date
	 */

	@JsonSerialize(using = JsonDateSerializer.class)
	public Date getFeini() {
		return this.feini;
	}

	/**
	 * Method 'setFeini'.
	 * 
	 * @param feini
	 *            Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFeini(Date feini) {
		this.feini = feini;
	}

	/**
	 * Method 'getDibujo'.
	 * 
	 * @return Blob
	 */
	@JsonIgnore
	public Blob getDibujo() {
		return this.dibujo;
	}

	/**
	 * Method 'setDibujo'.
	 * 
	 * @param dibujo
	 *            Blob
	 * @return
	 */

	public void setDibujo(Blob dibujo) {
		this.dibujo = dibujo;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ idplano: ").append(this.idplano).append(" ]");
		result.append(", [ idpadre: ").append(this.idpadre).append(" ]");
		result.append(", [ idedificio: ").append(this.idedificio).append(" ]");
		result.append(", [ idzona: ").append(this.idzona).append(" ]");
		result.append(", [ idplanta: ").append(this.idplanta).append(" ]");
		result.append(", [ ejexdesde: ").append(this.ejexdesde).append(" ]");
		result.append(", [ ejeydesde: ").append(this.ejeydesde).append(" ]");
		result.append(", [ ejexhasta: ").append(this.ejexhasta).append(" ]");
		result.append(", [ ejeyhasta: ").append(this.ejeyhasta).append(" ]");
		result.append(", [ baja: ").append(this.baja).append(" ]");
		result.append(", [ feini: ").append(this.feini).append(" ]");
		result.append("}");
		return result.toString();
	}

	public void setEdificio(Edificios edificio) {
		this.edificio = edificio;
	}

	public Edificios getEdificio() {
		return edificio;
	}

	public void setZona(Zonas zona) {
		this.zona = zona;
	}

	public Zonas getZona() {
		return zona;
	}

	public void setPlanta(Plantas planta) {
		this.planta = planta;
	}

	public Plantas getPlanta() {
		return planta;
	}

	public void setPlanoDibujo(byte[] planoDibujo) {
		this.planoDibujo = planoDibujo;
	}

	public byte[] getPlanoDibujo() {
		return planoDibujo;
	}

	public void setDescPlano(String descPlano) {
		this.descPlano = descPlano;
	}

	public String getDescPlano() {
		return descPlano;
	}

}
