package com.fitbank.hb.persistence.gene;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
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 TCONDICIONCREDITO*/
public class Tcreditcondition extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId{
/** Nombre de la Tabla TCONDICIONCREDITO */
public static final String TABLE_NAME = "TCONDICIONCREDITO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tcreditcondition
*/
private TcreditconditionKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desde la que esta vigente la descripcion de los codigos de los Valores Maximos por los que se puede negociar el credito de una operacion de comercio exterior
*/
private Timestamp fdesde;

/**
* Descripcion de los codigos de los Valores Maximos por los que se puede negociar el credito de una operacion de comercio exterior
*/
private String descripcion;

/**Contructor por defecto*/
public Tcreditcondition(){}
/**Contructor de Tcreditcondition
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la descripcion de los codigos de los Valores Maximos por los que se puede negociar el credito de una operacion de comercio exterior
@param pDescripcion Descripcion de los codigos de los Valores Maximos por los que se puede negociar el credito de una operacion de comercio exterior
*/
public Tcreditcondition(TcreditconditionKey pPk,Timestamp pFdesde,String pDescripcion){
 pk=pPk;
 fdesde=pFdesde;
 descripcion=pDescripcion;
}
/**Entrega la Clave primaria de Tcreditcondition
@return El objeto que referencia a la Clave primaria de Tcreditcondition
*/
public TcreditconditionKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcreditcondition
@param pPk El objeto que referencia a la nueva Clave primaria de Tcreditcondition
*/
public void setPk(TcreditconditionKey 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 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;
}

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