package com.ejie.m62fb.model;

import java.math.BigDecimal;

import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import com.ejie.m62fb.utils.serializers.JsonBigDecimal6Serializer;
import com.ejie.m62fb.utils.serializers.JsonBigDecimalDeserializer;
import com.ejie.m62fb.model.base.AbstractM62FBModel;
import com.ejie.m62fb.model.tipos.TipoElemento;

/**
 * M62R21T0- Table BD reference
 * 
XXXX
 */
public class InformacionSuelo extends AbstractM62FBModel implements
		java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private BigDecimal idM62r21t0;
	private BigDecimal idM62r20t0;

	private TipoElemento tipoElemento;
	private BigDecimal numElemento;
	private BigDecimal cuotaParticipacion;

	// private BigDecimal imcPVPElem;
	// private BigDecimal imcIVA;
	// private BigDecimal porIVA;
	// private BigDecimal imcGastosOper;
	//
	// private Boolean indDerechoSuperficie;
	// private Boolean indReversion;
	//
	// private BigDecimal idM62r31t0;
	// private BigDecimal numFase;

	/**
	 * Method 'InformacionSuelo'.
	 */
	public InformacionSuelo() {
		super();
	}

	/**
	 * Method 'InformacionSuelo'.
	 * 
	 * @param tipoElemento
	 *            TipoElemento
	 * @param numElemento
	 *            BigDecimal
	 */
	public InformacionSuelo(TipoElemento tipoElemento, BigDecimal numElemento) {
		super();
		this.tipoElemento = tipoElemento;
		this.numElemento = numElemento;
	}

	/**
	 * Method 'InformacionSuelo'.
	 * 
	 * @param codTablaTipoElem
	 *            String
	 * @param numElemento
	 *            BigDecimal
	 */
	public InformacionSuelo(String codTablaTipoElem, BigDecimal numElemento) {
		this(new TipoElemento(codTablaTipoElem), numElemento);
	}

	/**
	 * Method 'getIdM62r21t0'
	 * 
	 * @return idM62r21t0
	 */
	public BigDecimal getIdM62r21t0() {
		return this.idM62r21t0;
	}

	/**
	 * Method 'setIdM62r21t0'
	 * 
	 * @param idM62r21t0
	 *            BigDecimal
	 */
	public void setIdM62r21t0(BigDecimal idM62r21t0) {
		this.idM62r21t0 = idM62r21t0;
	}

	/**
	 * Method 'getIdM62r20t0'
	 * 
	 * @return idM62r20t0
	 */
	public BigDecimal getIdM62r20t0() {
		return this.idM62r20t0;
	}

	/**
	 * Method 'setIdM62r20t0'
	 * 
	 * @param idM62r20t0
	 *            BigDecimal
	 */
	public void setIdM62r20t0(BigDecimal idM62r20t0) {
		this.idM62r20t0 = idM62r20t0;
	}

	/**
	 * Method 'getTipoElemento'
	 * 
	 * @return tipoElemento
	 */
	public TipoElemento getTipoElemento() {
		return this.tipoElemento;
	}

	/**
	 * Method 'setTipoElemento'
	 * 
	 * @param tipoElemento
	 *            TipoElemento
	 */
	public void setTipoElemento(TipoElemento tipoElemento) {
		this.tipoElemento = tipoElemento;
	}

	/**
	 * Method 'getNumElemento'
	 * 
	 * @return numElemento
	 */
	public BigDecimal getNumElemento() {
		return this.numElemento;
	}

	/**
	 * Method 'setNumElemento'
	 * 
	 * @param numElemento
	 *            BigDecimal
	 */
	public void setNumElemento(BigDecimal numElemento) {
		this.numElemento = numElemento;
	}

	/**
	 * Method 'getCuotaParticipacion'
	 * 
	 * @return cuotaParticipacion
	 */
	@JsonSerialize(using = JsonBigDecimal6Serializer.class)
	public BigDecimal getCuotaParticipacion() {
		return this.cuotaParticipacion;
	}

	/**
	 * Method 'setCuotaParticipacion'
	 * 
	 * @param cuotaParticipacion
	 *            BigDecimal
	 */
	@JsonDeserialize(using = JsonBigDecimalDeserializer.class)
	public void setCuotaParticipacion(BigDecimal cuotaParticipacion) {
		this.cuotaParticipacion = cuotaParticipacion;
	}
}