package com.fitbank.hb.persistence.person;

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

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

/**
*  
*/
private Date fnacimiento;

/**
*  
*/
private String identificacion;

/**
*  
*/
private String nombres;

/**
*  
*/
private String sexo;

/**Contructor por defecto*/
public Vprospectperson(){}
/**Contructor de Vprospectperson
@param pPk Clave Primaria del entity
@param pApellidos  
@param pFnacimiento  
@param pIdentificacion  
@param pNombres  
@param pSexo  
*/
public Vprospectperson(Long pPk,String pApellidos,Date pFnacimiento,String pIdentificacion,String pNombres,String pSexo){
 pk=pPk;
 apellidos=pApellidos;
 fnacimiento=pFnacimiento;
 identificacion=pIdentificacion;
 nombres=pNombres;
 sexo=pSexo;
}
/**Entrega la Clave primaria de Vprospectperson
@return El objeto que referencia a la Clave primaria de Vprospectperson
*/
public Long getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Vprospectperson
@param pPk El objeto que referencia a la nueva Clave primaria de Vprospectperson
*/
public void setPk(Long pPk){
  pk=pPk;
}
public static final String APELLIDOS="APELLIDOS";
/**Obtiene el valor de apellidos
@return valor de apellidos*/
public String getApellidos(){
  return apellidos;
}
/**Fija el valor de apellidos
@param pApellidos nuevo Valor de apellidos*/
public void setApellidos(String pApellidos){
  apellidos=pApellidos;
}

public static final String FNACIMIENTO="FNACIMIENTO";
/**Obtiene el valor de fnacimiento
@return valor de fnacimiento*/
public Date getFnacimiento(){
  return fnacimiento;
}
/**Fija el valor de fnacimiento
@param pFnacimiento nuevo Valor de fnacimiento*/
public void setFnacimiento(Date pFnacimiento){
  fnacimiento=pFnacimiento;
}

public static final String IDENTIFICACION="IDENTIFICACION";
/**Obtiene el valor de identificacion
@return valor de identificacion*/
public String getIdentificacion(){
  return identificacion;
}
/**Fija el valor de identificacion
@param pIdentificacion nuevo Valor de identificacion*/
public void setIdentificacion(String pIdentificacion){
  identificacion=pIdentificacion;
}

public static final String NOMBRES="NOMBRES";
/**Obtiene el valor de nombres
@return valor de nombres*/
public String getNombres(){
  return nombres;
}
/**Fija el valor de nombres
@param pNombres nuevo Valor de nombres*/
public void setNombres(String pNombres){
  nombres=pNombres;
}

public static final String SEXO="SEXO";
/**Obtiene el valor de sexo
@return valor de sexo*/
public String getSexo(){
  return sexo;
}
/**Fija el valor de sexo
@param pSexo nuevo Valor de sexo*/
public void setSexo(String pSexo){
  sexo=pSexo;
}

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