package com.fitbank.hb.persistence.gene;

import java.io.Serializable;
import java.lang.reflect.Field;

/**Clase que hace referencia a la Clave Primaria de TEXCEPCIONTRANSACCIONRESULTADO*/
public class TexceptionresultransactionKey    implements Serializable,Cloneable{
/** Nombre de la Tabla TEXCEPCIONTRANSACCIONRESULTADO */
public static final String TABLE_NAME = "TEXCEPCIONTRANSACCIONRESULTADO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Codigo de resultado del procedimiento almacenado que ejecuta el mensaje como: 120125 = NO SE HA DEFINIDO EL TIPO DE CUOTA PARA EL PRODUCTO
*/
private String cresultado;

/**
* Codigo del subsistema
*/
private String csubsistema_origen;

/**
* Codigo de la transaccion
*/
private String ctransaccion_origen;

/**
* Version de la transaccion
*/
private String versiontransaccion_origen;

/**Contructor por defecto*/
public TexceptionresultransactionKey(){}
/**Contructor de TexceptionresultransactionKey
@param pCresultado Codigo de resultado del procedimiento almacenado que ejecuta el mensaje como: 120125 = NO SE HA DEFINIDO EL TIPO DE CUOTA PARA EL PRODUCTO
@param pCsubsistema_origen Codigo del subsistema
@param pCtransaccion_origen Codigo de la transaccion
@param pVersiontransaccion_origen Version de la transaccion
*/
public TexceptionresultransactionKey(String pCresultado,String pCsubsistema_origen,String pCtransaccion_origen,String pVersiontransaccion_origen){
 cresultado=pCresultado;
 csubsistema_origen=pCsubsistema_origen;
 ctransaccion_origen=pCtransaccion_origen;
 versiontransaccion_origen=pVersiontransaccion_origen;
}
public static final String CRESULTADO="CRESULTADO";
/**Obtiene el valor de cresultado
@return valor de cresultado*/
public String getCresultado(){
  return cresultado;
}
/**Fija el valor de cresultado
@param pCresultado nuevo Valor de cresultado*/
public void setCresultado(String pCresultado){
  cresultado=pCresultado;
}

public static final String CSUBSISTEMA_ORIGEN="CSUBSISTEMA_ORIGEN";
/**Obtiene el valor de csubsistema_origen
@return valor de csubsistema_origen*/
public String getCsubsistema_origen(){
  return csubsistema_origen;
}
/**Fija el valor de csubsistema_origen
@param pCsubsistema_origen nuevo Valor de csubsistema_origen*/
public void setCsubsistema_origen(String pCsubsistema_origen){
  csubsistema_origen=pCsubsistema_origen;
}

public static final String CTRANSACCION_ORIGEN="CTRANSACCION_ORIGEN";
/**Obtiene el valor de ctransaccion_origen
@return valor de ctransaccion_origen*/
public String getCtransaccion_origen(){
  return ctransaccion_origen;
}
/**Fija el valor de ctransaccion_origen
@param pCtransaccion_origen nuevo Valor de ctransaccion_origen*/
public void setCtransaccion_origen(String pCtransaccion_origen){
  ctransaccion_origen=pCtransaccion_origen;
}

public static final String VERSIONTRANSACCION_ORIGEN="VERSIONTRANSACCION_ORIGEN";
/**Obtiene el valor de versiontransaccion_origen
@return valor de versiontransaccion_origen*/
public String getVersiontransaccion_origen(){
  return versiontransaccion_origen;
}
/**Fija el valor de versiontransaccion_origen
@param pVersiontransaccion_origen nuevo Valor de versiontransaccion_origen*/
public void setVersiontransaccion_origen(String pVersiontransaccion_origen){
  versiontransaccion_origen=pVersiontransaccion_origen;
}

public static final String PK_CRESULTADO="CRESULTADO";
public static final String PK_CSUBSISTEMA_ORIGEN="CSUBSISTEMA_ORIGEN";
public static final String PK_CTRANSACCION_ORIGEN="CTRANSACCION_ORIGEN";
public static final String PK_VERSIONTRANSACCION_ORIGEN="VERSIONTRANSACCION_ORIGEN";
/**Implementaci?n de la comparaci?n de TexceptionresultransactionKey
@param o Objeto de comparaci?n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TexceptionresultransactionKey)){return false;}
  TexceptionresultransactionKey that = (TexceptionresultransactionKey) o;
  if (this.getCresultado() == null || that.getCresultado() == null){
      return false;
  }
  if (! this.getCresultado().equals(that.getCresultado())){
    return false;
  }
  if (this.getCsubsistema_origen() == null || that.getCsubsistema_origen() == null){
      return false;
  }
  if (! this.getCsubsistema_origen().equals(that.getCsubsistema_origen())){
    return false;
  }
  if (this.getCtransaccion_origen() == null || that.getCtransaccion_origen() == null){
      return false;
  }
  if (! this.getCtransaccion_origen().equals(that.getCtransaccion_origen())){
    return false;
  }
  if (this.getVersiontransaccion_origen() == null || that.getVersiontransaccion_origen() == null){
      return false;
  }
  if (! this.getVersiontransaccion_origen().equals(that.getVersiontransaccion_origen())){
    return false;
  }
  return true;
}
/**Implementaci?n del m?todo hashCode bajo el patr?n de Bloch
@return hashCode de la instancia TexceptionresultransactionKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCresultado() == null ? 0 : this.getCresultado().hashCode());
    result = result * 37 + (this.getCsubsistema_origen() == null ? 0 : this.getCsubsistema_origen().hashCode());
    result = result * 37 + (this.getCtransaccion_origen() == null ? 0 : this.getCtransaccion_origen().hashCode());
    result = result * 37 + (this.getVersiontransaccion_origen() == null ? 0 : this.getVersiontransaccion_origen().hashCode());
    this.hashValue = result;
  }
  return this.hashValue;
}
public Object cloneMe() throws Exception {
  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(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;
	}
}
