package com.fitbank.hb.persistence.soli;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TSOLICITUDTARJETASCREDITOCUPO*/
public class Tcreditcardlimitsolicitude extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TSOLICITUDTARJETASCREDITOCUPO */
public static final String TABLE_NAME = "TSOLICITUDTARJETASCREDITOCUPO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tcreditcardlimitsolicitude
*/
private TcreditcardlimitsolicitudeKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desde la que esta vigente la definicion de cupo de las personas realacinadas con la solicitud de tarjeta de credito
*/
private Timestamp fdesde;

/**
* Nombre en el plastico de la persona asociada
*/
private String nombreenplastico;

/**
* Cupo asignado para la tarjeta de credito
*/
private BigDecimal cupoasignado;

/**
* Porcentaje asignado para la tarjeta de credito
*/
private BigDecimal porcentajeasignado;

/**
* Numero de la tarjeta
*/
private String numerotarjeta;

/**
* Indica si la tarjeta es principal o no
*/
private String principal;

/**
* Codigo del estatus de la tarjeta de credito
*/
private String cestatustarjeta;

/**
* Codigo del tipo de vinculacion
*/
private String ctipovinculacion;

/**Contructor por defecto*/
public Tcreditcardlimitsolicitude(){}
/**Contructor de Tcreditcardlimitsolicitude
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la definicion de cupo de las personas realacinadas con la solicitud de tarjeta de credito
*/
public Tcreditcardlimitsolicitude(TcreditcardlimitsolicitudeKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tcreditcardlimitsolicitude
@return El objeto que referencia a la Clave primaria de Tcreditcardlimitsolicitude
*/
public TcreditcardlimitsolicitudeKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcreditcardlimitsolicitude
@param pPk El objeto que referencia a la nueva Clave primaria de Tcreditcardlimitsolicitude
*/
public void setPk(TcreditcardlimitsolicitudeKey pPk){
  pk=pPk;
}
public static final String VERSIONCONTROL="VERSIONCONTROL";
/**Obtiene el valor de versioncontrol
@return valor de versioncontrol*/
public Integer getVersioncontrol(){
  return versioncontrol;
}
/**Fija el valor de versioncontrol
@param pVersioncontrol nuevo Valor de versioncontrol*/
public void setVersioncontrol(Integer pVersioncontrol){
  versioncontrol=pVersioncontrol;
}

public static final String FDESDE="FDESDE";
/**Obtiene el valor de fdesde
@return valor de fdesde*/
public Timestamp getFdesde(){
  return fdesde;
}
/**Fija el valor de fdesde
@param pFdesde nuevo Valor de fdesde*/
public void setFdesde(Timestamp pFdesde){
  fdesde=pFdesde;
}

public static final String NOMBREENPLASTICO="NOMBREENPLASTICO";
/**Obtiene el valor de nombreenplastico
@return valor de nombreenplastico*/
public String getNombreenplastico(){
  return nombreenplastico;
}
/**Fija el valor de nombreenplastico
@param pNombreenplastico nuevo Valor de nombreenplastico*/
public void setNombreenplastico(String pNombreenplastico){
  nombreenplastico=pNombreenplastico;
}

public static final String CUPOASIGNADO="CUPOASIGNADO";
/**Obtiene el valor de cupoasignado
@return valor de cupoasignado*/
public BigDecimal getCupoasignado(){
  return cupoasignado;
}
/**Fija el valor de cupoasignado
@param pCupoasignado nuevo Valor de cupoasignado*/
public void setCupoasignado(BigDecimal pCupoasignado){
  cupoasignado=pCupoasignado;
}

public static final String PORCENTAJEASIGNADO="PORCENTAJEASIGNADO";
/**Obtiene el valor de porcentajeasignado
@return valor de porcentajeasignado*/
public BigDecimal getPorcentajeasignado(){
  return porcentajeasignado;
}
/**Fija el valor de porcentajeasignado
@param pPorcentajeasignado nuevo Valor de porcentajeasignado*/
public void setPorcentajeasignado(BigDecimal pPorcentajeasignado){
  porcentajeasignado=pPorcentajeasignado;
}

public static final String NUMEROTARJETA="NUMEROTARJETA";
/**Obtiene el valor de numerotarjeta
@return valor de numerotarjeta*/
public String getNumerotarjeta(){
  return numerotarjeta;
}
/**Fija el valor de numerotarjeta
@param pNumerotarjeta nuevo Valor de numerotarjeta*/
public void setNumerotarjeta(String pNumerotarjeta){
  numerotarjeta=pNumerotarjeta;
}

public static final String PRINCIPAL="PRINCIPAL";
/**Obtiene el valor de principal
@return valor de principal*/
public String getPrincipal(){
  return principal;
}
/**Fija el valor de principal
@param pPrincipal nuevo Valor de principal*/
public void setPrincipal(String pPrincipal){
  principal=pPrincipal;
}

public static final String CESTATUSTARJETA="CESTATUSTARJETA";
/**Obtiene el valor de cestatustarjeta
@return valor de cestatustarjeta*/
public String getCestatustarjeta(){
  return cestatustarjeta;
}
/**Fija el valor de cestatustarjeta
@param pCestatustarjeta nuevo Valor de cestatustarjeta*/
public void setCestatustarjeta(String pCestatustarjeta){
  cestatustarjeta=pCestatustarjeta;
}

public static final String CTIPOVINCULACION="CTIPOVINCULACION";
/**Obtiene el valor de ctipovinculacion
@return valor de ctipovinculacion*/
public String getCtipovinculacion(){
  return ctipovinculacion;
}
/**Fija el valor de ctipovinculacion
@param pCtipovinculacion nuevo Valor de ctipovinculacion*/
public void setCtipovinculacion(String pCtipovinculacion){
  ctipovinculacion=pCtipovinculacion;
}

/**Implementacion de la comparacion de la entidad Tcreditcardlimitsolicitude
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof Tcreditcardlimitsolicitude)){return false;}
    Tcreditcardlimitsolicitude that = (Tcreditcardlimitsolicitude) 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 Tcreditcardlimitsolicitude
@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 blancoTcreditcardlimitsolicitude
*/
public Object createInstance() throws Exception{
 Tcreditcardlimitsolicitude instance=new Tcreditcardlimitsolicitude();	
 instance.setPk(new TcreditcardlimitsolicitudeKey());
 return instance;
}
public Object cloneMe() throws Exception{
  Tcreditcardlimitsolicitude p=(Tcreditcardlimitsolicitude)this.clone();
  p.setPk((TcreditcardlimitsolicitudeKey)this.pk.cloneMe());
  return p;
}
public Object getId() {
  return this.pk;
}
}
