package com.fitbank.hb.persistence.cash;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.lang.reflect.Field;
import java.sql.Timestamp;
import com.fitbank.common.TransportBean;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla VTARJETACREDITOTRANSACCIONES*/
public class VcardCreditTransactions implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla VTARJETACREDITOTRANSACCIONES */
public static final String TABLE_NAME = "VTARJETACREDITOTRANSACCIONES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad VcardCreditTransactions
*/
private VcardCreditTransactionsKey pk;
/**
*  
*/
private String cidioma;

/**
*  
*/
private String descripcion;

/**
*  
*/
private Date fcontabledesde;

/**
*  
*/
private Date fcontablehasta;

/**
*  
*/
private Timestamp frealdesde;

/**
*  
*/
private String numerodocumento;

/**
*  
*/
private BigDecimal valoravancecuenta;

/**
*  
*/
private BigDecimal valoravanceoficial;

/**
*  
*/
private BigDecimal valorpagocuenta;

/**
*  
*/
private BigDecimal valorpagooficial;

/**Contructor por defecto*/
public VcardCreditTransactions(){}
/**Contructor de VcardCreditTransactions
@param pPk Clave Primaria del entity
@param pFcontabledesde  
@param pFcontablehasta  
@param pFrealdesde  
*/
public VcardCreditTransactions(VcardCreditTransactionsKey pPk,Date pFcontabledesde,Date pFcontablehasta,Timestamp pFrealdesde){
 pk=pPk;
 fcontabledesde=pFcontabledesde;
 fcontablehasta=pFcontablehasta;
 frealdesde=pFrealdesde;
}
/**Entrega la Clave primaria de VcardCreditTransactions
@return El objeto que referencia a la Clave primaria de VcardCreditTransactions
*/
public VcardCreditTransactionsKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de VcardCreditTransactions
@param pPk El objeto que referencia a la nueva Clave primaria de VcardCreditTransactions
*/
public void setPk(VcardCreditTransactionsKey pPk){
  pk=pPk;
}
public static final String CIDIOMA="CIDIOMA";
/**Obtiene el valor de cidioma
@return valor de cidioma*/
public String getCidioma(){
  return cidioma;
}
/**Fija el valor de cidioma
@param pCidioma nuevo Valor de cidioma*/
public void setCidioma(String pCidioma){
  cidioma=pCidioma;
}

public static final String DESCRIPCION="DESCRIPCION";
/**Obtiene el valor de descripcion
@return valor de descripcion*/
public String getDescripcion(){
  return descripcion;
}
/**Fija el valor de descripcion
@param pDescripcion nuevo Valor de descripcion*/
public void setDescripcion(String pDescripcion){
  descripcion=pDescripcion;
}

public static final String FCONTABLEDESDE="FCONTABLEDESDE";
/**Obtiene el valor de fcontabledesde
@return valor de fcontabledesde*/
public Date getFcontabledesde(){
  return fcontabledesde;
}
/**Fija el valor de fcontabledesde
@param pFcontabledesde nuevo Valor de fcontabledesde*/
public void setFcontabledesde(Date pFcontabledesde){
  fcontabledesde=pFcontabledesde;
}

public static final String FCONTABLEHASTA="FCONTABLEHASTA";
/**Obtiene el valor de fcontablehasta
@return valor de fcontablehasta*/
public Date getFcontablehasta(){
  return fcontablehasta;
}
/**Fija el valor de fcontablehasta
@param pFcontablehasta nuevo Valor de fcontablehasta*/
public void setFcontablehasta(Date pFcontablehasta){
  fcontablehasta=pFcontablehasta;
}

public static final String FREALDESDE="FREALDESDE";
/**Obtiene el valor de frealdesde
@return valor de frealdesde*/
public Timestamp getFrealdesde(){
  return frealdesde;
}
/**Fija el valor de frealdesde
@param pFrealdesde nuevo Valor de frealdesde*/
public void setFrealdesde(Timestamp pFrealdesde){
  frealdesde=pFrealdesde;
}

public static final String NUMERODOCUMENTO="NUMERODOCUMENTO";
/**Obtiene el valor de numerodocumento
@return valor de numerodocumento*/
public String getNumerodocumento(){
  return numerodocumento;
}
/**Fija el valor de numerodocumento
@param pNumerodocumento nuevo Valor de numerodocumento*/
public void setNumerodocumento(String pNumerodocumento){
  numerodocumento=pNumerodocumento;
}

public static final String VALORAVANCECUENTA="VALORAVANCECUENTA";
/**Obtiene el valor de valoravancecuenta
@return valor de valoravancecuenta*/
public BigDecimal getValoravancecuenta(){
  return valoravancecuenta;
}
/**Fija el valor de valoravancecuenta
@param pValoravancecuenta nuevo Valor de valoravancecuenta*/
public void setValoravancecuenta(BigDecimal pValoravancecuenta){
  valoravancecuenta=pValoravancecuenta;
}

public static final String VALORAVANCEOFICIAL="VALORAVANCEOFICIAL";
/**Obtiene el valor de valoravanceoficial
@return valor de valoravanceoficial*/
public BigDecimal getValoravanceoficial(){
  return valoravanceoficial;
}
/**Fija el valor de valoravanceoficial
@param pValoravanceoficial nuevo Valor de valoravanceoficial*/
public void setValoravanceoficial(BigDecimal pValoravanceoficial){
  valoravanceoficial=pValoravanceoficial;
}

public static final String VALORPAGOCUENTA="VALORPAGOCUENTA";
/**Obtiene el valor de valorpagocuenta
@return valor de valorpagocuenta*/
public BigDecimal getValorpagocuenta(){
  return valorpagocuenta;
}
/**Fija el valor de valorpagocuenta
@param pValorpagocuenta nuevo Valor de valorpagocuenta*/
public void setValorpagocuenta(BigDecimal pValorpagocuenta){
  valorpagocuenta=pValorpagocuenta;
}

public static final String VALORPAGOOFICIAL="VALORPAGOOFICIAL";
/**Obtiene el valor de valorpagooficial
@return valor de valorpagooficial*/
public BigDecimal getValorpagooficial(){
  return valorpagooficial;
}
/**Fija el valor de valorpagooficial
@param pValorpagooficial nuevo Valor de valorpagooficial*/
public void setValorpagooficial(BigDecimal pValorpagooficial){
  valorpagooficial=pValorpagooficial;
}

/**Implementacion de la comparacion de la entidad VcardCreditTransactions
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof VcardCreditTransactions)){return false;}
    VcardCreditTransactions that = (VcardCreditTransactions) rhs;
    if (this.getPk() == null || that.getPk() == null){
        return false;}
    return (this.getPk().equals(that.getPk()));
}
/**Implementaci?n del metodo hashCode de la la entidad VcardCreditTransactions
@return el hashCode la instancia
*/
public int hashCode()    {
    if (this.hashValue == 0){
        int result = 17;
        if (this.getPk() == null){
            result = super.hashCode();
        }else{
            result = this.getPk().hashCode();
        }
        this.hashValue = result;
    }
    return this.hashValue;
}
/**Implementaci?n toString
*/
public String toString() {
	Field[]fs=this.getClass().getDeclaredFields();
	String data="";
	for(Field f:fs){
	 try{	
	 String name=f.getName();
	 if(name.compareTo("hashValue")==0||name.compareTo("serialVersionUID")==0){continue;}
		data+=name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
/**Implementaci?n de la creaci?n de un bean en blancoVcardCreditTransactions
*/
public Object createInstance() throws Exception{
 VcardCreditTransactions instance=new VcardCreditTransactions();	
 instance.setPk(new VcardCreditTransactionsKey());
 return instance;
}
public Object cloneMe() throws Exception{
  VcardCreditTransactions p=(VcardCreditTransactions)this.clone();
  p.setPk((VcardCreditTransactionsKey)this.pk.cloneMe());
  return p;
}
}
