package com.ejie.ab63.model;

import java.math.BigDecimal;
import java.util.Date;

import com.ejie.x38.serialization.JsonDateDeserializer;
import com.ejie.x38.serialization.JsonDateSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * Ab6334s00  
 * 
 *  
 */

public class Parcela implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Long idParcela;
	private EstablecimientoData establecimientoData;
	private String nombre;
	private BigDecimal numSuperficie;
	private String electricidad;
	private String agua;
	private String desague;
	private Integer albergueFijo;
	private Long numUnidades;
	private Long numPlazas;
	private Integer numPlazasTipo;
	private Date fechaRegistro;
	private String usuarioRegistro;
	private Date fechaUltmodificacion;
	private String usuarioUltmodificacion;
	private Long totalPlazas;

	private Integer tipoRegistro;
	private Long numParcela;
	private Integer accesibilidad;
	private String otrasCaracteristicas;
	private String descAccesibilidad;

	// datos solo para inspecciones
	private String firme;

	/**
	 * Method 'Ab6334s00'.
	 */
	public Parcela() {
	}

	/**
	 * Method 'Ab6334s00'.
	 * 
	 * @param idParcela
	 *            Long
	 */
	public Parcela(Long idParcela) {
		this.idParcela = idParcela;
	}

	/**
	 * Method 'Ab6334s00'.
	 * 
	 * @param idParcela
	 *            Long
	 * @param nombre
	 *            String
	 * @param numSuperficie
	 *            BigDecimal
	 * @param electricidad
	 *            Integer
	 * @param agua
	 *            Integer
	 * @param desague
	 *            Integer
	 * @param albergueFijo
	 *            Integer
	 * @param numUnidades
	 *            Long
	 * @param numPlazas
	 *            Long
	 * @param numPlazasTipo
	 *            Integer
	 * @param fechaRegistro
	 *            Date
	 * @param usuarioRegistro
	 *            String
	 * @param fechaUltmodificacion
	 *            Date
	 * @param usuarioUltmodificacion
	 *            String
	 * @param ab6321s00
	 *            Ab6321s00
	 */
	public Parcela(Long idParcela, String nombre, BigDecimal numSuperficie, String electricidad, String agua,
			String desague, Integer albergueFijo, Long numUnidades, Long numPlazas, Integer numPlazasTipo,
			Date fechaRegistro, String usuarioRegistro, Date fechaUltmodificacion, String usuarioUltmodificacion,
			Integer tipoRegistro, Long numParcela, Integer accesibilidad, String otrasCaracteristicas,
			EstablecimientoData ab6321s00) {

		this.idParcela = idParcela;
		this.establecimientoData = ab6321s00;
		this.nombre = nombre;
		this.numSuperficie = numSuperficie;
		this.electricidad = electricidad;
		this.agua = agua;
		this.desague = desague;
		this.albergueFijo = albergueFijo;
		this.numUnidades = numUnidades;
		this.numPlazas = numPlazas;
		this.numPlazasTipo = numPlazasTipo;
		this.fechaRegistro = fechaRegistro;
		this.usuarioRegistro = usuarioRegistro;
		this.fechaUltmodificacion = fechaUltmodificacion;
		this.usuarioUltmodificacion = usuarioUltmodificacion;
		this.tipoRegistro = tipoRegistro;
		this.numParcela = numParcela;
		this.accesibilidad = accesibilidad;
		this.otrasCaracteristicas = otrasCaracteristicas;
	}

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

	public Long getIdParcela() {
		return this.idParcela;
	}

	/**
	 * Method 'setIdParcela'.
	 *
	 * @param idParcela
	 *            Long
	 * @return
	 */

	public void setIdParcela(Long idParcela) {
		this.idParcela = idParcela;
	}

	/**
	 * Method 'getAb6321s00'.
	 *
	 * @return Ab6321s00
	 */

	public EstablecimientoData getEstablecimientoData() {
		return this.establecimientoData;
	}

	/**
	 * Method 'setAb6321s00'.
	 *
	 * @param ab6321s00
	 *            Ab6321s00
	 * @return
	 */

	public void setEstablecimientoData(EstablecimientoData ab6321s00) {
		this.establecimientoData = ab6321s00;
	}

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

	public String getNombre() {
		return this.nombre;
	}

	/**
	 * Method 'setNombre'.
	 *
	 * @param nombre
	 *            String
	 * @return
	 */

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Method 'getNumSuperficie'.
	 *
	 * @return BigDecimal
	 */

	public BigDecimal getNumSuperficie() {
		return this.numSuperficie;
	}

	/**
	 * Method 'setNumSuperficie'.
	 *
	 * @param numSuperficie
	 *            BigDecimal
	 * @return
	 */

	public void setNumSuperficie(BigDecimal numSuperficie) {
		this.numSuperficie = numSuperficie;
	}

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

	public String getElectricidad() {
		return this.electricidad;
	}

	/**
	 * Method 'setElectricidad'.
	 *
	 * @param electricidad
	 *            Integer
	 * @return
	 */

	public void setElectricidad(String electricidad) {
		this.electricidad = electricidad;
	}

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

	public String getAgua() {
		return this.agua;
	}

	/**
	 * Method 'setAgua'.
	 *
	 * @param agua
	 *            Integer
	 * @return
	 */

	public void setAgua(String agua) {
		this.agua = agua;
	}

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

	public String getDesague() {
		return this.desague;
	}

	/**
	 * Method 'setDesague'.
	 *
	 * @param desague
	 *            Integer
	 * @return
	 */

	public void setDesague(String desague) {
		this.desague = desague;
	}

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

	public Integer getAlbergueFijo() {
		return this.albergueFijo;
	}

	/**
	 * Method 'setAlbergueFijo'.
	 *
	 * @param albergueFijo
	 *            Integer
	 * @return
	 */

	public void setAlbergueFijo(Integer albergueFijo) {
		this.albergueFijo = albergueFijo;
	}

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

	public Long getNumUnidades() {
		return this.numUnidades;
	}

	/**
	 * Method 'setNumUnidades'.
	 *
	 * @param numUnidades
	 *            Long
	 * @return
	 */

	public void setNumUnidades(Long numUnidades) {
		this.numUnidades = numUnidades;
	}

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

	public Long getNumPlazas() {
		return this.numPlazas;
	}

	/**
	 * Method 'setNumPlazas'.
	 *
	 * @param numPlazas
	 *            Long
	 * @return
	 */

	public void setNumPlazas(Long numPlazas) {
		this.numPlazas = numPlazas;
	}

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

	public Integer getNumPlazasTipo() {
		return this.numPlazasTipo;
	}

	/**
	 * Method 'setNumPlazasTipo'.
	 *
	 * @param numPlazasTipo
	 *            Integer
	 * @return
	 */

	public void setNumPlazasTipo(Integer numPlazasTipo) {
		this.numPlazasTipo = numPlazasTipo;
	}

	/**
	 * Method 'getFechaRegistro'.
	 *
	 * @return java.util.Date
	 */

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

	/**
	 * Method 'setFechaRegistro'.
	 *
	 * @param fechaRegistro
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaRegistro(Date fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

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

	public String getUsuarioRegistro() {
		return this.usuarioRegistro;
	}

	/**
	 * Method 'setUsuarioRegistro'.
	 *
	 * @param usuarioRegistro
	 *            String
	 * @return
	 */

	public void setUsuarioRegistro(String usuarioRegistro) {
		this.usuarioRegistro = usuarioRegistro;
	}

	/**
	 * Method 'getFechaUltmodificacion'.
	 *
	 * @return java.util.Date
	 */

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

	/**
	 * Method 'setFechaUltmodificacion'.
	 *
	 * @param fechaUltmodificacion
	 *            java.util.Date
	 * @return
	 */
	@JsonDeserialize(using = JsonDateDeserializer.class)
	public void setFechaUltmodificacion(Date fechaUltmodificacion) {
		this.fechaUltmodificacion = fechaUltmodificacion;
	}

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

	public String getUsuarioUltmodificacion() {
		return this.usuarioUltmodificacion;
	}

	/**
	 * Method 'setUsuarioUltmodificacion'.
	 *
	 * @param usuarioUltmodificacion
	 *            String
	 * @return
	 */

	public void setUsuarioUltmodificacion(String usuarioUltmodificacion) {
		this.usuarioUltmodificacion = usuarioUltmodificacion;
	}

	public Long getTotalPlazas() {
		return totalPlazas;
	}

	public void setTotalPlazas(Long totalPlazas) {
		this.totalPlazas = totalPlazas;
	}

	/**
	 * 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(" [ idParcela: ").append(this.idParcela).append(" ]");
		result.append(", [ nombre: ").append(this.nombre).append(" ]");
		result.append(", [ numSuperficie: ").append(this.numSuperficie).append(" ]");
		result.append(", [ electricidad: ").append(this.electricidad).append(" ]");
		result.append(", [ agua: ").append(this.agua).append(" ]");
		result.append(", [ desague: ").append(this.desague).append(" ]");
		result.append(", [ albergueFijo: ").append(this.albergueFijo).append(" ]");
		result.append(", [ numUnidades: ").append(this.numUnidades).append(" ]");
		result.append(", [ numPlazas: ").append(this.numPlazas).append(" ]");
		result.append(", [ numPlazasTipo: ").append(this.numPlazasTipo).append(" ]");
		result.append(", [ fechaRegistro: ").append(this.fechaRegistro).append(" ]");
		result.append(", [ usuarioRegistro: ").append(this.usuarioRegistro).append(" ]");
		result.append(", [ fechaUltmodificacion: ").append(this.fechaUltmodificacion).append(" ]");
		result.append(", [ usuarioUltmodificacion: ").append(this.usuarioUltmodificacion).append(" ]");
		result.append("}");
		return result.toString();
	}

	public Integer getTipoRegistro() {
		return tipoRegistro;
	}

	public void setTipoRegistro(Integer tipoRegistro) {
		this.tipoRegistro = tipoRegistro;
	}

	public Long getNumParcela() {
		return numParcela;
	}

	public void setNumParcela(Long numParcela) {
		this.numParcela = numParcela;
	}

	public Integer getAccesibilidad() {
		return accesibilidad;
	}

	public void setAccesibilidad(Integer accesibilidad) {
		this.accesibilidad = accesibilidad;
	}

	public String getOtrasCaracteristicas() {
		return otrasCaracteristicas;
	}

	public void setOtrasCaracteristicas(String otrasCaracteristicas) {
		this.otrasCaracteristicas = otrasCaracteristicas;
	}

	public String getDescAccesibilidad() {
		return descAccesibilidad;
	}

	public void setDescAccesibilidad(String descAccesibilidad) {
		this.descAccesibilidad = descAccesibilidad;
	}

}
