package com.fitbank.hb.persistence.inter;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TINTERFACEPERSONAS*/
public class Tpersoninterfase implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TINTERFACEPERSONAS */
public static final String TABLE_NAME = "TINTERFACEPERSONAS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tpersoninterfase
*/
private Long pk;
/**
* Fecha y hora en la que se realiza la modificacion
*/
private Timestamp fmodificacion;

/**
* Indicador del Origen de la modificacion F (FIT) O (Otras aplicaciones).
*/
private String origen;

/**
* Fecha y hora en la que se realiza la modificacion
*/
private Timestamp fregistro;

/**
* Informacion en XML correspondiente a la modificacion
*/
private Clob datos;

/**
* Texto del Error en el caso que el registro de la modificacion no se haya podido realizar
*/
private String error;

/**
* Codigo del Error en el caso que el registro de la modificacion no se haya podido realizar
*/
private String codigoerror;

/**
* Codigo de la persona
*/
private Integer cpersona;

/**Contructor por defecto*/
public Tpersoninterfase(){}
/**Contructor de Tpersoninterfase
@param pPk Clave Primaria del entity
@param pFmodificacion Fecha y hora en la que se realiza la modificacion
@param pOrigen Indicador del Origen de la modificacion F (FIT) O (Otras aplicaciones).
@param pDatos Informacion en XML correspondiente a la modificacion
*/
public Tpersoninterfase(Long pPk,Timestamp pFmodificacion,String pOrigen,Clob pDatos){
 pk=pPk;
 fmodificacion=pFmodificacion;
 origen=pOrigen;
 datos=pDatos;
}
/**Entrega la Clave primaria de Tpersoninterfase
@return El objeto que referencia a la Clave primaria de Tpersoninterfase
*/
public Long getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tpersoninterfase
@param pPk El objeto que referencia a la nueva Clave primaria de Tpersoninterfase
*/
public void setPk(Long pPk){
  pk=pPk;
}
public static final String FMODIFICACION="FMODIFICACION";
/**Obtiene el valor de fmodificacion
@return valor de fmodificacion*/
public Timestamp getFmodificacion(){
  return fmodificacion;
}
/**Fija el valor de fmodificacion
@param pFmodificacion nuevo Valor de fmodificacion*/
public void setFmodificacion(Timestamp pFmodificacion){
  fmodificacion=pFmodificacion;
}

public static final String ORIGEN="ORIGEN";
/**Obtiene el valor de origen
@return valor de origen*/
public String getOrigen(){
  return origen;
}
/**Fija el valor de origen
@param pOrigen nuevo Valor de origen*/
public void setOrigen(String pOrigen){
  origen=pOrigen;
}

public static final String FREGISTRO="FREGISTRO";
/**Obtiene el valor de fregistro
@return valor de fregistro*/
public Timestamp getFregistro(){
  return fregistro;
}
/**Fija el valor de fregistro
@param pFregistro nuevo Valor de fregistro*/
public void setFregistro(Timestamp pFregistro){
  fregistro=pFregistro;
}

public static final String DATOS="DATOS";
/**Obtiene el valor de datos
@return valor de datos*/
public Clob getDatos(){
  return datos;
}
/**Fija el valor de datos
@param pDatos nuevo Valor de datos*/
public void setDatos(Clob pDatos){
  datos=pDatos;
}

public static final String ERROR="ERROR";
/**Obtiene el valor de error
@return valor de error*/
public String getError(){
  return error;
}
/**Fija el valor de error
@param pError nuevo Valor de error*/
public void setError(String pError){
  error=pError;
}

public static final String CODIGOERROR="CODIGOERROR";
/**Obtiene el valor de codigoerror
@return valor de codigoerror*/
public String getCodigoerror(){
  return codigoerror;
}
/**Fija el valor de codigoerror
@param pCodigoerror nuevo Valor de codigoerror*/
public void setCodigoerror(String pCodigoerror){
  codigoerror=pCodigoerror;
}

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;
}

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