package com.fp.persistence.pgeneral.proc; import javax.persistence.Column; import java.io.Serializable; import com.fp.dto.hb.HibernateId; import java.lang.reflect.Field; import javax.persistence.Embeddable; import javax.persistence.Transient; /**Clase que hace referencia a la Clave Primaria de TGENEPROCESS*/ @Embeddable public class TgeneProcessKey extends com.fp.dto.AbstractDataTransport implements Serializable,Cloneable,HibernateId{ /** * HashCode asociado con la Instancia */ @Transient private int hashValue = 0; /** * Version de la Clase */ private static final long serialVersionUID = 1L; @Column(name="PROCESSCODE", nullable=false,updatable=false) /** * Paquete clase de un comando a ejecutar. */ private String processcode; @Column(name="CATALOGTYPEPROCESS", nullable=false,updatable=false) /** * Codigo de catalogo GEN proceso general consulta, mantenimiento, TRA a nivel de transaccion finacniera, ITEM a niveld e rubro de una trnsaccion financiera, BATH comandos de fin de dia */ private String catalogtypeprocess; @Column(name="CATALOGCODETYPEPROCESS", nullable=false,updatable=false) /** * Codigo de tabla de catalogo del proceso de negocio de la aplicacion */ private String catalogcodetypeprocess; /**Contructor por defecto*/ public TgeneProcessKey(){} /**Contructor de TgeneProcessKey @param pProcesscode Paquete clase de un comando a ejecutar. @param pCatalogtypeprocess Codigo de catalogo GEN proceso general consulta, mantenimiento, TRA a nivel de transaccion finacniera, ITEM a niveld e rubro de una trnsaccion financiera, BATH comandos de fin de dia @param pCatalogcodetypeprocess Codigo de tabla de catalogo del proceso de negocio de la aplicacion */ public TgeneProcessKey(String pProcesscode,String pCatalogtypeprocess,String pCatalogcodetypeprocess){ processcode=pProcesscode; catalogtypeprocess=pCatalogtypeprocess; catalogcodetypeprocess=pCatalogcodetypeprocess; } /**Obtiene el valor de processcode @return valor de processcode*/ public String getProcesscode(){ return processcode; } /**Fija el valor de processcode @param pProcesscode nuevo Valor de processcode*/ public void setProcesscode(String pProcesscode){ processcode=pProcesscode; } /**Obtiene el valor de catalogtypeprocess @return valor de catalogtypeprocess*/ public String getCatalogtypeprocess(){ return catalogtypeprocess; } /**Fija el valor de catalogtypeprocess @param pCatalogtypeprocess nuevo Valor de catalogtypeprocess*/ public void setCatalogtypeprocess(String pCatalogtypeprocess){ catalogtypeprocess=pCatalogtypeprocess; } /**Obtiene el valor de catalogcodetypeprocess @return valor de catalogcodetypeprocess*/ public String getCatalogcodetypeprocess(){ return catalogcodetypeprocess; } /**Fija el valor de catalogcodetypeprocess @param pCatalogcodetypeprocess nuevo Valor de catalogcodetypeprocess*/ public void setCatalogcodetypeprocess(String pCatalogcodetypeprocess){ catalogcodetypeprocess=pCatalogcodetypeprocess; } /**Implementación de la comparación de TgeneProcessKey @param o Objeto de comparación */ public boolean equals(Object o){ if (o == null)return false; if (! (o instanceof TgeneProcessKey))return false; TgeneProcessKey that = (TgeneProcessKey) o; if (this.getProcesscode() == null || that.getProcesscode() == null){ return false; } if (! this.getProcesscode().equals(that.getProcesscode())){ return false; } if (this.getCatalogtypeprocess() == null || that.getCatalogtypeprocess() == null){ return false; } if (! this.getCatalogtypeprocess().equals(that.getCatalogtypeprocess())){ return false; } if (this.getCatalogcodetypeprocess() == null || that.getCatalogcodetypeprocess() == null){ return false; } if (! this.getCatalogcodetypeprocess().equals(that.getCatalogcodetypeprocess())){ return false; } return true; } /**Implementación del método hashCode bajo el patrón de Bloch @return hashCode de la instancia TgeneProcessKey */ public int hashCode(){ if (this.hashValue == 0){ int result = 17; result = result * 37 + (this.getProcesscode() == null ? 0 : this.getProcesscode().hashCode()); result = result * 37 + (this.getCatalogtypeprocess() == null ? 0 : this.getCatalogtypeprocess().hashCode()); result = result * 37 + (this.getCatalogcodetypeprocess() == null ? 0 : this.getCatalogcodetypeprocess().hashCode()); this.hashValue = result; } return this.hashValue; } public Object cloneMe() throws CloneNotSupportedException { return this.clone(); } /**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+="pk."+name+"="+f.get(this)+";"; }catch(Exception e){ continue; } } if(data.compareTo("")==0){ data=super.toString(); } return data; } }