package com.fitbank.hb.persistence.person;

import java.sql.Timestamp;
import java.io.Serializable;
import java.lang.reflect.Field;

/**Clase que hace referencia a la Clave Primaria de TPERSONAVERIFICACIONDATOS*/
public class TdateverificationpersonKey    implements Serializable,Cloneable{
/** Nombre de la Tabla TPERSONAVERIFICACIONDATOS */
public static final String TABLE_NAME = "TPERSONAVERIFICACIONDATOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Codigo de la persona
*/
private Integer cpersona;

/**
* Codigo del tipo de persona
*/
private String ctipopersona;

/**
* Codigo del nivel de informacion de la verificacion de datos de una persona natural o juridica
*/
private Integer cnivelinformacion;

/**
* Numero secuencial del registro del cual se realiza la verificacion de datos
*/
private Integer spersonaverificadatos;

/**
* Fecha en la que se realiza la verificacion de datos
*/
private Timestamp fverificacion;

/**Contructor por defecto*/
public TdateverificationpersonKey(){}
/**Contructor de TdateverificationpersonKey
@param pCpersona Codigo de la persona
@param pCtipopersona Codigo del tipo de persona
@param pCnivelinformacion Codigo del nivel de informacion de la verificacion de datos de una persona natural o juridica
@param pSpersonaverificadatos Numero secuencial del registro del cual se realiza la verificacion de datos
@param pFverificacion Fecha en la que se realiza la verificacion de datos
*/
public TdateverificationpersonKey(Integer pCpersona,String pCtipopersona,Integer pCnivelinformacion,Integer pSpersonaverificadatos,Timestamp pFverificacion){
 cpersona=pCpersona;
 ctipopersona=pCtipopersona;
 cnivelinformacion=pCnivelinformacion;
 spersonaverificadatos=pSpersonaverificadatos;
 fverificacion=pFverificacion;
}
public static final String CPERSONA="CPERSONA";
/**Obtiene el valor de cpersona
@return valor de cpersona*/
public Integer getCpersona(){
  return cpersona;
}
/**Fija el valor de cpersona
@param pCpersona nuevo Valor de cpersona*/
public void setCpersona(Integer pCpersona){
  cpersona=pCpersona;
}

public static final String CTIPOPERSONA="CTIPOPERSONA";
/**Obtiene el valor de ctipopersona
@return valor de ctipopersona*/
public String getCtipopersona(){
  return ctipopersona;
}
/**Fija el valor de ctipopersona
@param pCtipopersona nuevo Valor de ctipopersona*/
public void setCtipopersona(String pCtipopersona){
  ctipopersona=pCtipopersona;
}

public static final String CNIVELINFORMACION="CNIVELINFORMACION";
/**Obtiene el valor de cnivelinformacion
@return valor de cnivelinformacion*/
public Integer getCnivelinformacion(){
  return cnivelinformacion;
}
/**Fija el valor de cnivelinformacion
@param pCnivelinformacion nuevo Valor de cnivelinformacion*/
public void setCnivelinformacion(Integer pCnivelinformacion){
  cnivelinformacion=pCnivelinformacion;
}

public static final String SPERSONAVERIFICADATOS="SPERSONAVERIFICADATOS";
/**Obtiene el valor de spersonaverificadatos
@return valor de spersonaverificadatos*/
public Integer getSpersonaverificadatos(){
  return spersonaverificadatos;
}
/**Fija el valor de spersonaverificadatos
@param pSpersonaverificadatos nuevo Valor de spersonaverificadatos*/
public void setSpersonaverificadatos(Integer pSpersonaverificadatos){
  spersonaverificadatos=pSpersonaverificadatos;
}

public static final String FVERIFICACION="FVERIFICACION";
/**Obtiene el valor de fverificacion
@return valor de fverificacion*/
public Timestamp getFverificacion(){
  return fverificacion;
}
/**Fija el valor de fverificacion
@param pFverificacion nuevo Valor de fverificacion*/
public void setFverificacion(Timestamp pFverificacion){
  fverificacion=pFverificacion;
}

public static final String PK_CPERSONA="CPERSONA";
public static final String PK_CTIPOPERSONA="CTIPOPERSONA";
public static final String PK_CNIVELINFORMACION="CNIVELINFORMACION";
public static final String PK_SPERSONAVERIFICADATOS="SPERSONAVERIFICADATOS";
public static final String PK_FVERIFICACION="FVERIFICACION";
/**Implementaci�n de la comparaci�n de TdateverificationpersonKey
@param o Objeto de comparaciï¿½n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TdateverificationpersonKey)){return false;}
  TdateverificationpersonKey that = (TdateverificationpersonKey) o;
  if (this.getCpersona() == null || that.getCpersona() == null){
      return false;
  }
  if (! this.getCpersona().equals(that.getCpersona())){
    return false;
  }
  if (this.getCtipopersona() == null || that.getCtipopersona() == null){
      return false;
  }
  if (! this.getCtipopersona().equals(that.getCtipopersona())){
    return false;
  }
  if (this.getCnivelinformacion() == null || that.getCnivelinformacion() == null){
      return false;
  }
  if (! this.getCnivelinformacion().equals(that.getCnivelinformacion())){
    return false;
  }
  if (this.getSpersonaverificadatos() == null || that.getSpersonaverificadatos() == null){
      return false;
  }
  if (! this.getSpersonaverificadatos().equals(that.getSpersonaverificadatos())){
    return false;
  }
  if (this.getFverificacion() == null || that.getFverificacion() == null){
      return false;
  }
  if (! this.getFverificacion().equals(that.getFverificacion())){
    return false;
  }
  return true;
}
/**Implementaci�n del m�todo hashCode bajo el patr�n de Bloch
@return hashCode de la instancia TdateverificationpersonKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCpersona() == null ? 0 : this.getCpersona().hashCode());
    result = result * 37 + (this.getCtipopersona() == null ? 0 : this.getCtipopersona().hashCode());
    result = result * 37 + (this.getCnivelinformacion() == null ? 0 : this.getCnivelinformacion().hashCode());
    result = result * 37 + (this.getSpersonaverificadatos() == null ? 0 : this.getSpersonaverificadatos().hashCode());
    result = result * 37 + (this.getFverificacion() == null ? 0 : this.getFverificacion().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;
	}
}
