package com.fitbank.hb.persistence.soli;

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

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

/**
* Indica si tiene criterio o no
*/
private String tiene_criterio;

/**
* JavaScript de la lista de valores
*/
private Clob lvcriterio;

/**
* Bloque de consulta 
*/
private Integer bloque;

/**
* Tabla de la base de datos
*/
private String tabla;

/**
* Campo en la tabla de la base de datos
*/
private String campo;

/**
* 
*/
private Clob lvcampo;

/**
* Tipo de dato para ingreso en el formulario
*/
private String tipodato;

/**
* Configuracion extra para el tipo de dato
*/
private String tipodato_extra;

/**
* Tipo de elemento a ser usado en el formulario
*/
private String tipoelemento;

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

/**Contructor por defecto*/
public Tmultifieldsolicitude(){}
/**Contructor de Tmultifieldsolicitude
@param pPk Clave Primaria del entity
*/
public Tmultifieldsolicitude(TmultifieldsolicitudeKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Tmultifieldsolicitude
@return El objeto que referencia a la Clave primaria de Tmultifieldsolicitude
*/
public TmultifieldsolicitudeKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tmultifieldsolicitude
@param pPk El objeto que referencia a la nueva Clave primaria de Tmultifieldsolicitude
*/
public void setPk(TmultifieldsolicitudeKey pPk){
  pk=pPk;
}
public static final String TITULO="TITULO";
/**Obtiene el valor de titulo
@return valor de titulo*/
public String getTitulo(){
  return titulo;
}
/**Fija el valor de titulo
@param pTitulo nuevo Valor de titulo*/
public void setTitulo(String pTitulo){
  titulo=pTitulo;
}

public static final String TIENE_CRITERIO="TIENE_CRITERIO";
/**Obtiene el valor de tiene_criterio
@return valor de tiene_criterio*/
public String getTiene_criterio(){
  return tiene_criterio;
}
/**Fija el valor de tiene_criterio
@param pTiene_criterio nuevo Valor de tiene_criterio*/
public void setTiene_criterio(String pTiene_criterio){
  tiene_criterio=pTiene_criterio;
}

public static final String LVCRITERIO="LVCRITERIO";
/**Obtiene el valor de lvcriterio
@return valor de lvcriterio*/
public Clob getLvcriterio(){
  return lvcriterio;
}
/**Fija el valor de lvcriterio
@param pLvcriterio nuevo Valor de lvcriterio*/
public void setLvcriterio(Clob pLvcriterio){
  lvcriterio=pLvcriterio;
}

public static final String BLOQUE="BLOQUE";
/**Obtiene el valor de bloque
@return valor de bloque*/
public Integer getBloque(){
  return bloque;
}
/**Fija el valor de bloque
@param pBloque nuevo Valor de bloque*/
public void setBloque(Integer pBloque){
  bloque=pBloque;
}

public static final String TABLA="TABLA";
/**Obtiene el valor de tabla
@return valor de tabla*/
public String getTabla(){
  return tabla;
}
/**Fija el valor de tabla
@param pTabla nuevo Valor de tabla*/
public void setTabla(String pTabla){
  tabla=pTabla;
}

public static final String CAMPO="CAMPO";
/**Obtiene el valor de campo
@return valor de campo*/
public String getCampo(){
  return campo;
}
/**Fija el valor de campo
@param pCampo nuevo Valor de campo*/
public void setCampo(String pCampo){
  campo=pCampo;
}

public static final String LVCAMPO="LVCAMPO";
/**Obtiene el valor de lvcampo
@return valor de lvcampo*/
public Clob getLvcampo(){
  return lvcampo;
}
/**Fija el valor de lvcampo
@param pLvcampo nuevo Valor de lvcampo*/
public void setLvcampo(Clob pLvcampo){
  lvcampo=pLvcampo;
}

public static final String TIPODATO="TIPODATO";
/**Obtiene el valor de tipodato
@return valor de tipodato*/
public String getTipodato(){
  return tipodato;
}
/**Fija el valor de tipodato
@param pTipodato nuevo Valor de tipodato*/
public void setTipodato(String pTipodato){
  tipodato=pTipodato;
}

public static final String TIPODATO_EXTRA="TIPODATO_EXTRA";
/**Obtiene el valor de tipodato_extra
@return valor de tipodato_extra*/
public String getTipodato_extra(){
  return tipodato_extra;
}
/**Fija el valor de tipodato_extra
@param pTipodato_extra nuevo Valor de tipodato_extra*/
public void setTipodato_extra(String pTipodato_extra){
  tipodato_extra=pTipodato_extra;
}

public static final String TIPOELEMENTO="TIPOELEMENTO";
/**Obtiene el valor de tipoelemento
@return valor de tipoelemento*/
public String getTipoelemento(){
  return tipoelemento;
}
/**Fija el valor de tipoelemento
@param pTipoelemento nuevo Valor de tipoelemento*/
public void setTipoelemento(String pTipoelemento){
  tipoelemento=pTipoelemento;
}

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

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