package com.fp.persistence.pgeneral.batch; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.EntityManager; import java.io.Serializable; import javax.persistence.Table; import com.fp.dto.hb.HibernateBean; import java.lang.reflect.Field; import javax.persistence.Transient; import java.sql.Date; /**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TGENEACCOUNTBATCHSTATUS*/ @Entity(name="TgeneAccountBatchStatus") @Table(name="TGENEACCOUNTBATCHSTATUS") public class TgeneAccountBatchStatus extends com.fp.dto.AbstractDataTransport implements Serializable,HibernateBean,Cloneable{ /** * HashCode asociado con la Instancia */ @Transient private int hashValue = 0; /** * Version de la Clase */ private static final long serialVersionUID = 1L; /** * Clave primaria de la Entidad TgeneAccountBatchStatus */ @EmbeddedId private TgeneAccountBatchStatusKey pk; @Column(name="RESULTCODE", nullable=false) /** * Codigo de resultado de ejecucion de todos los procesos para la cuenta. */ private String resultcode; @Column(name="USERMESSAGE", nullable=true) /** * Mensaje de usuario resultante del proceso de batch para la cuenta. */ private String usermessage; @Column(name="TECHNICALMESSAGE", nullable=true) /** * Mensaje tecnico, se llena si la transaccion tiene un resultado diferente de ok. */ private String technicalmessage; @Column(name="REALDATE", nullable=true, insertable=false) /** * Fecha real de proceso de la cuenta. */ private Timestamp realdate; @Column(name="ACTIONCODE", nullable=true) /** * Si se presenta un error, en el campo se almacena la accion en la se presento el error */ private String actioncode; /**Contructor por defecto*/ public TgeneAccountBatchStatus(){ } /**Contructor de TgeneAccountBatchStatus @param pPk Clave Primaria del entity @param pResultcode Codigo de resultado de ejecucion de todos los procesos para la cuenta. */ public TgeneAccountBatchStatus(TgeneAccountBatchStatusKey pPk,String pResultcode){ this(); pk=pPk; resultcode=pResultcode; } /** * Metodo que entrega datos de la tabla dada la clave primaria. * @param pEntityManager referencia de la session a obtener datos del bean. * @param pKey Caleve primaria del bean. * @return TgeneAccountBatchStatus */ public static TgeneAccountBatchStatus find(EntityManager pEntityManager,TgeneAccountBatchStatusKey pKey) throws Exception{ TgeneAccountBatchStatus obj = pEntityManager.find(TgeneAccountBatchStatus.class,pKey); return obj; } /**Entrega la Clave primaria de TgeneAccountBatchStatus @return El objeto que referencia a la Clave primaria de TgeneAccountBatchStatus */ public TgeneAccountBatchStatusKey getPk(){ return pk; } /**Fija un nuevo valor a la Clave primaria de TgeneAccountBatchStatus @param pPk El objeto que referencia a la nueva Clave primaria de TgeneAccountBatchStatus */ public void setPk(TgeneAccountBatchStatusKey pPk){ pk=pPk; } /**Obtiene el valor de resultcode @return valor de resultcode*/ public String getResultcode(){ return resultcode; } /**Fija el valor de resultcode @param pResultcode nuevo Valor de resultcode*/ public void setResultcode(String pResultcode){ resultcode=pResultcode; } /**Obtiene el valor de usermessage @return valor de usermessage*/ public String getUsermessage(){ return usermessage; } /**Fija el valor de usermessage @param pUsermessage nuevo Valor de usermessage*/ public void setUsermessage(String pUsermessage){ usermessage=pUsermessage; } /**Obtiene el valor de technicalmessage @return valor de technicalmessage*/ public String getTechnicalmessage(){ return technicalmessage; } /**Fija el valor de technicalmessage @param pTechnicalmessage nuevo Valor de technicalmessage*/ public void setTechnicalmessage(String pTechnicalmessage){ technicalmessage=pTechnicalmessage; } /**Obtiene el valor de realdate @return valor de realdate*/ public Timestamp getRealdate(){ return realdate; } /**Fija el valor de realdate @param pRealdate nuevo Valor de realdate*/ public void setRealdate(Timestamp pRealdate){ realdate=pRealdate; } /**Obtiene el valor de actioncode @return valor de actioncode*/ public String getActioncode(){ return actioncode; } /**Fija el valor de actioncode @param pActioncode nuevo Valor de actioncode*/ public void setActioncode(String pActioncode){ actioncode=pActioncode; } public boolean equals(Object rhs){ if (rhs == null)return false; if (! (rhs instanceof TgeneAccountBatchStatus))return false; TgeneAccountBatchStatus that = (TgeneAccountBatchStatus) 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 TgeneAccountBatchStatus @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(f.getType().getName().compareTo("java.util.Set")==0)continue; 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 blanco TgeneAccountBatchStatus */ public Object createInstance(){ TgeneAccountBatchStatus instance=new TgeneAccountBatchStatus(); instance.setPk(new TgeneAccountBatchStatusKey()); return instance; } /**Clona la entidad TgeneAccountBatchStatus @see com.fp.dto.hb.HibernateBean#cloneMe() */ public Object cloneMe() throws CloneNotSupportedException{ TgeneAccountBatchStatus p=(TgeneAccountBatchStatus)this.clone(); p.setPk((TgeneAccountBatchStatusKey)this.pk.cloneMe()); return p; } }