package com.fitbank.hb.persistence.gene;

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

/**Clase que hace referencia a la Clave Primaria de TCONDICIONCREDITO*/
public class TcreditconditionKey  extends AbstractExpire  implements Serializable,Cloneable,ManejaHistory{
/** 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;
/**
* Codigo de idioma
*/
private String cidioma;

/**
* Codigos de los valores maximos de negociacion de comercio exterior
*/
private String ccondicioncredito;

/**
* Fecha hasta 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 fhasta;

/**Contructor por defecto*/
public TcreditconditionKey(){}
/**Contructor de TcreditconditionKey
@param pCidioma Codigo de idioma
@param pCcondicioncredito Codigos de los valores maximos de negociacion de comercio exterior
@param pFhasta Fecha hasta 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
*/
public TcreditconditionKey(String pCidioma,String pCcondicioncredito,Timestamp pFhasta){
 cidioma=pCidioma;
 ccondicioncredito=pCcondicioncredito;
 fhasta=pFhasta;
}
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 CCONDICIONCREDITO="CCONDICIONCREDITO";
/**Obtiene el valor de ccondicioncredito
@return valor de ccondicioncredito*/
public String getCcondicioncredito(){
  return ccondicioncredito;
}
/**Fija el valor de ccondicioncredito
@param pCcondicioncredito nuevo Valor de ccondicioncredito*/
public void setCcondicioncredito(String pCcondicioncredito){
  ccondicioncredito=pCcondicioncredito;
}

public static final String FHASTA="FHASTA";
/**Obtiene el valor de fhasta
@return valor de fhasta*/
public Timestamp getFhasta(){
  return fhasta;
}
/**Fija el valor de fhasta
@param pFhasta nuevo Valor de fhasta*/
public void setFhasta(Timestamp pFhasta){
  fhasta=pFhasta;
}

public static final String PK_CIDIOMA="CIDIOMA";
public static final String PK_CCONDICIONCREDITO="CCONDICIONCREDITO";
public static final String PK_FHASTA="FHASTA";
/**Implementaci?n de la comparaci?n de TcreditconditionKey
@param o Objeto de comparaci?n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TcreditconditionKey)){return false;}
  TcreditconditionKey that = (TcreditconditionKey) o;
  if (this.getCidioma() == null || that.getCidioma() == null){
      return false;
  }
  if (! this.getCidioma().equals(that.getCidioma())){
    return false;
  }
  if (this.getCcondicioncredito() == null || that.getCcondicioncredito() == null){
      return false;
  }
  if (! this.getCcondicioncredito().equals(that.getCcondicioncredito())){
    return false;
  }
  if (this.getFhasta() == null || that.getFhasta() == null){
      return false;
  }
  if (! this.getFhasta().equals(that.getFhasta())){
    return false;
  }
  return true;
}
/**Implementaci?n del m?todo hashCode bajo el patr?n de Bloch
@return hashCode de la instancia TcreditconditionKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCidioma() == null ? 0 : this.getCidioma().hashCode());
    result = result * 37 + (this.getCcondicioncredito() == null ? 0 : this.getCcondicioncredito().hashCode());
    result = result * 37 + (this.getFhasta() == null ? 0 : this.getFhasta().hashCode());
    this.hashValue = result;
  }
  return this.hashValue;
}
public Object cloneMe() throws Exception {
  return this.clone();
}
/**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+="pk."+name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
public Object getId() {
  return null;
}
}
