package com.fitbank.hb.persistence.uci;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TRUTEO*/
public class Troute implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TRUTEO */
public static final String TABLE_NAME = "TRUTEO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Troute
*/
private TrouteKey pk;
/**
* Canal destino del mensaje
*/
private String ccanal_destino;

/**
* Tiempo de espera en segundos
*/
private Integer tiempoespera;

/**
* Dispositivo Destino
*/
private String cdispositivo_destino;

/**
* Dispositivo de Respuesta
*/
private String cdispositivo_destinorespuesta;

/**
* Canal destino de un duplicado del mensaje
*/
private String ccanal_copia;

/**
* Dispositivo destino del Duplicado del Mensaje
*/
private String cdispositivo_copia;

/**
* Dispositivo de respuesta del Duplicado del Mensaje
*/
private String cdispositivo_copiarespuesta;

/**
* Almacenaran la ruta de la clase que transformara la informacion antes del ruteo
*/
private String transformaciondestino;

/**
* Almacenaran la copia de la ruta de la clase que transformara la informacion antes del ruteo
*/
private String transformacioncopia;

/**
* Almacena los parametros del destino para la clase que transformara la informacion antes del ruteo
*/
private String transdestinoparametros;

/**
* Almacena los parametros de la copia para la clase que transformara la informacion antes del ruteo
*/
private String transcopiaparametros;

/**Contructor por defecto*/
public Troute(){}
/**Contructor de Troute
@param pPk Clave Primaria del entity
@param pTiempoespera Tiempo de espera en segundos
@param pCdispositivo_destino Dispositivo Destino
*/
public Troute(TrouteKey pPk,Integer pTiempoespera,String pCdispositivo_destino){
 pk=pPk;
 tiempoespera=pTiempoespera;
 cdispositivo_destino=pCdispositivo_destino;
}
/**Entrega la Clave primaria de Troute
@return El objeto que referencia a la Clave primaria de Troute
*/
public TrouteKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Troute
@param pPk El objeto que referencia a la nueva Clave primaria de Troute
*/
public void setPk(TrouteKey pPk){
  pk=pPk;
}
public static final String CCANAL_DESTINO="CCANAL_DESTINO";
/**Obtiene el valor de ccanal_destino
@return valor de ccanal_destino*/
public String getCcanal_destino(){
  return ccanal_destino;
}
/**Fija el valor de ccanal_destino
@param pCcanal_destino nuevo Valor de ccanal_destino*/
public void setCcanal_destino(String pCcanal_destino){
  ccanal_destino=pCcanal_destino;
}

public static final String TIEMPOESPERA="TIEMPOESPERA";
/**Obtiene el valor de tiempoespera
@return valor de tiempoespera*/
public Integer getTiempoespera(){
  return tiempoespera;
}
/**Fija el valor de tiempoespera
@param pTiempoespera nuevo Valor de tiempoespera*/
public void setTiempoespera(Integer pTiempoespera){
  tiempoespera=pTiempoespera;
}

public static final String CDISPOSITIVO_DESTINO="CDISPOSITIVO_DESTINO";
/**Obtiene el valor de cdispositivo_destino
@return valor de cdispositivo_destino*/
public String getCdispositivo_destino(){
  return cdispositivo_destino;
}
/**Fija el valor de cdispositivo_destino
@param pCdispositivo_destino nuevo Valor de cdispositivo_destino*/
public void setCdispositivo_destino(String pCdispositivo_destino){
  cdispositivo_destino=pCdispositivo_destino;
}

public static final String CDISPOSITIVO_DESTINORESPUESTA="CDISPOSITIVO_DESTINORESPUESTA";
/**Obtiene el valor de cdispositivo_destinorespuesta
@return valor de cdispositivo_destinorespuesta*/
public String getCdispositivo_destinorespuesta(){
  return cdispositivo_destinorespuesta;
}
/**Fija el valor de cdispositivo_destinorespuesta
@param pCdispositivo_destinorespuesta nuevo Valor de cdispositivo_destinorespuesta*/
public void setCdispositivo_destinorespuesta(String pCdispositivo_destinorespuesta){
  cdispositivo_destinorespuesta=pCdispositivo_destinorespuesta;
}

public static final String CCANAL_COPIA="CCANAL_COPIA";
/**Obtiene el valor de ccanal_copia
@return valor de ccanal_copia*/
public String getCcanal_copia(){
  return ccanal_copia;
}
/**Fija el valor de ccanal_copia
@param pCcanal_copia nuevo Valor de ccanal_copia*/
public void setCcanal_copia(String pCcanal_copia){
  ccanal_copia=pCcanal_copia;
}

public static final String CDISPOSITIVO_COPIA="CDISPOSITIVO_COPIA";
/**Obtiene el valor de cdispositivo_copia
@return valor de cdispositivo_copia*/
public String getCdispositivo_copia(){
  return cdispositivo_copia;
}
/**Fija el valor de cdispositivo_copia
@param pCdispositivo_copia nuevo Valor de cdispositivo_copia*/
public void setCdispositivo_copia(String pCdispositivo_copia){
  cdispositivo_copia=pCdispositivo_copia;
}

public static final String CDISPOSITIVO_COPIARESPUESTA="CDISPOSITIVO_COPIARESPUESTA";
/**Obtiene el valor de cdispositivo_copiarespuesta
@return valor de cdispositivo_copiarespuesta*/
public String getCdispositivo_copiarespuesta(){
  return cdispositivo_copiarespuesta;
}
/**Fija el valor de cdispositivo_copiarespuesta
@param pCdispositivo_copiarespuesta nuevo Valor de cdispositivo_copiarespuesta*/
public void setCdispositivo_copiarespuesta(String pCdispositivo_copiarespuesta){
  cdispositivo_copiarespuesta=pCdispositivo_copiarespuesta;
}

public static final String TRANSFORMACIONDESTINO="TRANSFORMACIONDESTINO";
/**Obtiene el valor de transformaciondestino
@return valor de transformaciondestino*/
public String getTransformaciondestino(){
  return transformaciondestino;
}
/**Fija el valor de transformaciondestino
@param pTransformaciondestino nuevo Valor de transformaciondestino*/
public void setTransformaciondestino(String pTransformaciondestino){
  transformaciondestino=pTransformaciondestino;
}

public static final String TRANSFORMACIONCOPIA="TRANSFORMACIONCOPIA";
/**Obtiene el valor de transformacioncopia
@return valor de transformacioncopia*/
public String getTransformacioncopia(){
  return transformacioncopia;
}
/**Fija el valor de transformacioncopia
@param pTransformacioncopia nuevo Valor de transformacioncopia*/
public void setTransformacioncopia(String pTransformacioncopia){
  transformacioncopia=pTransformacioncopia;
}

public static final String TRANSDESTINOPARAMETROS="TRANSDESTINOPARAMETROS";
/**Obtiene el valor de transdestinoparametros
@return valor de transdestinoparametros*/
public String getTransdestinoparametros(){
  return transdestinoparametros;
}
/**Fija el valor de transdestinoparametros
@param pTransdestinoparametros nuevo Valor de transdestinoparametros*/
public void setTransdestinoparametros(String pTransdestinoparametros){
  transdestinoparametros=pTransdestinoparametros;
}

public static final String TRANSCOPIAPARAMETROS="TRANSCOPIAPARAMETROS";
/**Obtiene el valor de transcopiaparametros
@return valor de transcopiaparametros*/
public String getTranscopiaparametros(){
  return transcopiaparametros;
}
/**Fija el valor de transcopiaparametros
@param pTranscopiaparametros nuevo Valor de transcopiaparametros*/
public void setTranscopiaparametros(String pTranscopiaparametros){
  transcopiaparametros=pTranscopiaparametros;
}

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