package com.fitbank.hb.persistence.gene;

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

/**Clase que hace referencia a la Clave Primaria de TNOTIFICACIONDESTINATARIOS*/
public class TdestinynotificationKey    implements Serializable,Cloneable{
/** Nombre de la Tabla TNOTIFICACIONDESTINATARIOS */
public static final String TABLE_NAME = "TNOTIFICACIONDESTINATARIOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Código de la persona de la compañía.
*/
private Integer cpersona_compania;

/**
* Código de subsistema del producto.
*/
private String csubsistema;

/**
* Código del grupo de producto.
*/
private String cgrupoproducto;

/**
* Código del producto.
*/
private String cproducto;

/**
* Número de secuencia perteneciente al registro de TCOBRANZASNOTIFICACIONRANGOS que se quiere relacionar.
*/
private Integer secuencia_rango;

/**
* Número de secuencia de destinatario. Permite agregar varios destinatarios relacionados con el mismo registro de TCOBRANZASNOTIFICACIONRANGOS.
*/
private Integer secuencia_destinatario;

/**Contructor por defecto*/
public TdestinynotificationKey(){}
/**Contructor de TdestinynotificationKey
@param pCpersona_compania Código de la persona de la compañía.
@param pCsubsistema Código de subsistema del producto.
@param pCgrupoproducto Código del grupo de producto.
@param pCproducto Código del producto.
@param pSecuencia_rango Número de secuencia perteneciente al registro de TCOBRANZASNOTIFICACIONRANGOS que se quiere relacionar.
@param pSecuencia_destinatario Número de secuencia de destinatario. Permite agregar varios destinatarios relacionados con el mismo registro de TCOBRANZASNOTIFICACIONRANGOS.
*/
public TdestinynotificationKey(Integer pCpersona_compania,String pCsubsistema,String pCgrupoproducto,String pCproducto,Integer pSecuencia_rango,Integer pSecuencia_destinatario){
 cpersona_compania=pCpersona_compania;
 csubsistema=pCsubsistema;
 cgrupoproducto=pCgrupoproducto;
 cproducto=pCproducto;
 secuencia_rango=pSecuencia_rango;
 secuencia_destinatario=pSecuencia_destinatario;
}
public static final String CPERSONA_COMPANIA="CPERSONA_COMPANIA";
/**Obtiene el valor de cpersona_compania
@return valor de cpersona_compania*/
public Integer getCpersona_compania(){
  return cpersona_compania;
}
/**Fija el valor de cpersona_compania
@param pCpersona_compania nuevo Valor de cpersona_compania*/
public void setCpersona_compania(Integer pCpersona_compania){
  cpersona_compania=pCpersona_compania;
}

public static final String CSUBSISTEMA="CSUBSISTEMA";
/**Obtiene el valor de csubsistema
@return valor de csubsistema*/
public String getCsubsistema(){
  return csubsistema;
}
/**Fija el valor de csubsistema
@param pCsubsistema nuevo Valor de csubsistema*/
public void setCsubsistema(String pCsubsistema){
  csubsistema=pCsubsistema;
}

public static final String CGRUPOPRODUCTO="CGRUPOPRODUCTO";
/**Obtiene el valor de cgrupoproducto
@return valor de cgrupoproducto*/
public String getCgrupoproducto(){
  return cgrupoproducto;
}
/**Fija el valor de cgrupoproducto
@param pCgrupoproducto nuevo Valor de cgrupoproducto*/
public void setCgrupoproducto(String pCgrupoproducto){
  cgrupoproducto=pCgrupoproducto;
}

public static final String CPRODUCTO="CPRODUCTO";
/**Obtiene el valor de cproducto
@return valor de cproducto*/
public String getCproducto(){
  return cproducto;
}
/**Fija el valor de cproducto
@param pCproducto nuevo Valor de cproducto*/
public void setCproducto(String pCproducto){
  cproducto=pCproducto;
}

public static final String SECUENCIA_RANGO="SECUENCIA_RANGO";
/**Obtiene el valor de secuencia_rango
@return valor de secuencia_rango*/
public Integer getSecuencia_rango(){
  return secuencia_rango;
}
/**Fija el valor de secuencia_rango
@param pSecuencia_rango nuevo Valor de secuencia_rango*/
public void setSecuencia_rango(Integer pSecuencia_rango){
  secuencia_rango=pSecuencia_rango;
}

public static final String SECUENCIA_DESTINATARIO="SECUENCIA_DESTINATARIO";
/**Obtiene el valor de secuencia_destinatario
@return valor de secuencia_destinatario*/
public Integer getSecuencia_destinatario(){
  return secuencia_destinatario;
}
/**Fija el valor de secuencia_destinatario
@param pSecuencia_destinatario nuevo Valor de secuencia_destinatario*/
public void setSecuencia_destinatario(Integer pSecuencia_destinatario){
  secuencia_destinatario=pSecuencia_destinatario;
}

public static final String PK_CPERSONA_COMPANIA="CPERSONA_COMPANIA";
public static final String PK_CSUBSISTEMA="CSUBSISTEMA";
public static final String PK_CGRUPOPRODUCTO="CGRUPOPRODUCTO";
public static final String PK_CPRODUCTO="CPRODUCTO";
public static final String PK_SECUENCIA_RANGO="SECUENCIA_RANGO";
public static final String PK_SECUENCIA_DESTINATARIO="SECUENCIA_DESTINATARIO";
/**Implementaci�n de la comparaci�n de TdestinynotificationKey
@param o Objeto de comparaciï¿½n
*/
public boolean equals(Object o){
  if (o == null){return false;}
  if (! (o instanceof TdestinynotificationKey)){return false;}
  TdestinynotificationKey that = (TdestinynotificationKey) o;
  if (this.getCpersona_compania() == null || that.getCpersona_compania() == null){
      return false;
  }
  if (! this.getCpersona_compania().equals(that.getCpersona_compania())){
    return false;
  }
  if (this.getCsubsistema() == null || that.getCsubsistema() == null){
      return false;
  }
  if (! this.getCsubsistema().equals(that.getCsubsistema())){
    return false;
  }
  if (this.getCgrupoproducto() == null || that.getCgrupoproducto() == null){
      return false;
  }
  if (! this.getCgrupoproducto().equals(that.getCgrupoproducto())){
    return false;
  }
  if (this.getCproducto() == null || that.getCproducto() == null){
      return false;
  }
  if (! this.getCproducto().equals(that.getCproducto())){
    return false;
  }
  if (this.getSecuencia_rango() == null || that.getSecuencia_rango() == null){
      return false;
  }
  if (! this.getSecuencia_rango().equals(that.getSecuencia_rango())){
    return false;
  }
  if (this.getSecuencia_destinatario() == null || that.getSecuencia_destinatario() == null){
      return false;
  }
  if (! this.getSecuencia_destinatario().equals(that.getSecuencia_destinatario())){
    return false;
  }
  return true;
}
/**Implementaci�n del m�todo hashCode bajo el patr�n de Bloch
@return hashCode de la instancia TdestinynotificationKey
*/
public int hashCode(){
  if (this.hashValue == 0){
    int result = 17;
    result = result * 37 + (this.getCpersona_compania() == null ? 0 : this.getCpersona_compania().hashCode());
    result = result * 37 + (this.getCsubsistema() == null ? 0 : this.getCsubsistema().hashCode());
    result = result * 37 + (this.getCgrupoproducto() == null ? 0 : this.getCgrupoproducto().hashCode());
    result = result * 37 + (this.getCproducto() == null ? 0 : this.getCproducto().hashCode());
    result = result * 37 + (this.getSecuencia_rango() == null ? 0 : this.getSecuencia_rango().hashCode());
    result = result * 37 + (this.getSecuencia_destinatario() == null ? 0 : this.getSecuencia_destinatario().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;
	}
}
