package com.fitbank.hb.persistence.safe;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TUSUARIOS*/
public class Tuser extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId {
/** Nombre de la Tabla TUSUARIOS */
public static final String TABLE_NAME = "TUSUARIOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tuser
*/
private TuserKey pk;
/**
* Fecha desde la que esta vigente la informacion de un usuario
*/
private Timestamp fdesde;

/**
* Codigo del tipo de usuario
*/
private String ctipousuario;

/**
* Alias del usuario
*/
private String alias;

/**
* Codigo del estatus del usuario
*/
private String cestatususuario;

/**
* Codigo del idioma
*/
private String cidioma;

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

/**
* Marca si el usuario puede ser o no asignado como oficial de cuenta del cliente o del producto 
*/
private String esoficial;

/**
* Marca si el usuario puede ser o no asignado como cajero 
*/
private String escajero;

/**
* Numero de dias de vigencia del password para el calculo de la siguiente fecha de caducidad
*/
private Integer numerodiasvigencia;

/**
* Marca si el usuario esta permitido para cambiar su password
*/
private String permitecambio;

/**
* Marca si el usuario - cliente ha aceptado las condiciones de utilizacion de los servicios de internet
*/
private String aceptado;

/**
* Marca si el usuario puede ser asignado como boveda o no
*/
private String esboveda;

/**
* Observaciones sobre el estatus del usuario
*/
private String observaciones;

/**
* Codigo de imagen de login del usuario
*/
private Long cimagen_login;

/**
* Frase secreta del usuario para el login
*/
private String frasesecreta;

/**
* Manejo de optimistic loking
*/
private Integer versioncontrol;

/**
* Codigo del usuario que modifica los datos del registro de usuario
*/
private String cusuario_modificacion;

/**
* Marca si el usuario puede ser o no asignado como cajero automatico
*/
private String escajeroautomatico;

/**Contructor por defecto*/
public Tuser(){}
/**Contructor de Tuser
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la informacion de un usuario
@param pCtipousuario Codigo del tipo de usuario
@param pAlias Alias del usuario
@param pCestatususuario Codigo del estatus del usuario
@param pCidioma Codigo del idioma
*/
public Tuser(TuserKey pPk,Timestamp pFdesde,String pCtipousuario,String pAlias,String pCestatususuario,String pCidioma){
 pk=pPk;
 fdesde=pFdesde;
 ctipousuario=pCtipousuario;
 alias=pAlias;
 cestatususuario=pCestatususuario;
 cidioma=pCidioma;
}
/**Entrega la Clave primaria de Tuser
@return El objeto que referencia a la Clave primaria de Tuser
*/
public TuserKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tuser
@param pPk El objeto que referencia a la nueva Clave primaria de Tuser
*/
public void setPk(TuserKey pPk){
  pk=pPk;
}
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 CTIPOUSUARIO="CTIPOUSUARIO";
/**Obtiene el valor de ctipousuario
@return valor de ctipousuario*/
public String getCtipousuario(){
  return ctipousuario;
}
/**Fija el valor de ctipousuario
@param pCtipousuario nuevo Valor de ctipousuario*/
public void setCtipousuario(String pCtipousuario){
  ctipousuario=pCtipousuario;
}

public static final String ALIAS="ALIAS";
/**Obtiene el valor de alias
@return valor de alias*/
public String getAlias(){
  return alias;
}
/**Fija el valor de alias
@param pAlias nuevo Valor de alias*/
public void setAlias(String pAlias){
  alias=pAlias;
}

public static final String CESTATUSUSUARIO="CESTATUSUSUARIO";
/**Obtiene el valor de cestatususuario
@return valor de cestatususuario*/
public String getCestatususuario(){
  return cestatususuario;
}
/**Fija el valor de cestatususuario
@param pCestatususuario nuevo Valor de cestatususuario*/
public void setCestatususuario(String pCestatususuario){
  cestatususuario=pCestatususuario;
}

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 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 ESOFICIAL="ESOFICIAL";
/**Obtiene el valor de esoficial
@return valor de esoficial*/
public String getEsoficial(){
  return esoficial;
}
/**Fija el valor de esoficial
@param pEsoficial nuevo Valor de esoficial*/
public void setEsoficial(String pEsoficial){
  esoficial=pEsoficial;
}

public static final String ESCAJERO="ESCAJERO";
/**Obtiene el valor de escajero
@return valor de escajero*/
public String getEscajero(){
  return escajero;
}
/**Fija el valor de escajero
@param pEscajero nuevo Valor de escajero*/
public void setEscajero(String pEscajero){
  escajero=pEscajero;
}

public static final String NUMERODIASVIGENCIA="NUMERODIASVIGENCIA";
/**Obtiene el valor de numerodiasvigencia
@return valor de numerodiasvigencia*/
public Integer getNumerodiasvigencia(){
  return numerodiasvigencia;
}
/**Fija el valor de numerodiasvigencia
@param pNumerodiasvigencia nuevo Valor de numerodiasvigencia*/
public void setNumerodiasvigencia(Integer pNumerodiasvigencia){
  numerodiasvigencia=pNumerodiasvigencia;
}

public static final String PERMITECAMBIO="PERMITECAMBIO";
/**Obtiene el valor de permitecambio
@return valor de permitecambio*/
public String getPermitecambio(){
  return permitecambio;
}
/**Fija el valor de permitecambio
@param pPermitecambio nuevo Valor de permitecambio*/
public void setPermitecambio(String pPermitecambio){
  permitecambio=pPermitecambio;
}

public static final String ACEPTADO="ACEPTADO";
/**Obtiene el valor de aceptado
@return valor de aceptado*/
public String getAceptado(){
  return aceptado;
}
/**Fija el valor de aceptado
@param pAceptado nuevo Valor de aceptado*/
public void setAceptado(String pAceptado){
  aceptado=pAceptado;
}

public static final String ESBOVEDA="ESBOVEDA";
/**Obtiene el valor de esboveda
@return valor de esboveda*/
public String getEsboveda(){
  return esboveda;
}
/**Fija el valor de esboveda
@param pEsboveda nuevo Valor de esboveda*/
public void setEsboveda(String pEsboveda){
  esboveda=pEsboveda;
}

public static final String OBSERVACIONES="OBSERVACIONES";
/**Obtiene el valor de observaciones
@return valor de observaciones*/
public String getObservaciones(){
  return observaciones;
}
/**Fija el valor de observaciones
@param pObservaciones nuevo Valor de observaciones*/
public void setObservaciones(String pObservaciones){
  observaciones=pObservaciones;
}

public static final String CIMAGEN_LOGIN="CIMAGEN_LOGIN";
/**Obtiene el valor de cimagen_login
@return valor de cimagen_login*/
public Long getCimagen_login(){
  return cimagen_login;
}
/**Fija el valor de cimagen_login
@param pCimagen_login nuevo Valor de cimagen_login*/
public void setCimagen_login(Long pCimagen_login){
  cimagen_login=pCimagen_login;
}

public static final String FRASESECRETA="FRASESECRETA";
/**Obtiene el valor de frasesecreta
@return valor de frasesecreta*/
public String getFrasesecreta(){
  return frasesecreta;
}
/**Fija el valor de frasesecreta
@param pFrasesecreta nuevo Valor de frasesecreta*/
public void setFrasesecreta(String pFrasesecreta){
  frasesecreta=pFrasesecreta;
}

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 CUSUARIO_MODIFICACION="CUSUARIO_MODIFICACION";
/**Obtiene el valor de cusuario_modificacion
@return valor de cusuario_modificacion*/
public String getCusuario_modificacion(){
  return cusuario_modificacion;
}
/**Fija el valor de cusuario_modificacion
@param pCusuario_modificacion nuevo Valor de cusuario_modificacion*/
public void setCusuario_modificacion(String pCusuario_modificacion){
  cusuario_modificacion=pCusuario_modificacion;
}

public static final String ESCAJEROAUTOMATICO="ESCAJEROAUTOMATICO";
/**Obtiene el valor de escajeroautomatico
@return valor de escajeroautomatico*/
public String getEscajeroautomatico(){
  return escajeroautomatico;
}
/**Fija el valor de escajeroautomatico
@param pEscajeroautomatico nuevo Valor de escajeroautomatico*/
public void setEscajeroautomatico(String pEscajeroautomatico){
  escajeroautomatico=pEscajeroautomatico;
}

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