package com.fitbank.hb.persistence.person;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.lang.reflect.Field;
import java.sql.Timestamp;
import com.fitbank.common.TransportBean;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TPERSONADIRECCIONES*/
public class Taddressperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId {
/** Nombre de la Tabla TPERSONADIRECCIONES */
public static final String TABLE_NAME = "TPERSONADIRECCIONES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Taddressperson
*/
private TaddresspersonKey pk;
/**
* Codigo del tipo de direccion
*/
private String ctipodireccion;

/**
* Fecha desde la que estan vigentes los datos de direccion de una persona natural o juridica
*/
private Timestamp fdesde;

/**
* Codigo del pais
*/
private String cpais;

/**
* Codigo de la provincia
*/
private String cprovincia;

/**
* Codigo de ciudad
*/
private String cciudad;

/**
* Marca si la direccion es la principal del cliente o no
*/
private String direccionprincipal;

/**
* Nombre de la calle de la direccion de la persona natural o juridica
*/
private String calle;

/**
* Numero asignado al inmueble de la direccion de una persona natural o juridica
*/
private String numero;

/**
* Nombre o descripcion del inmueble de la direccion de la persona natural o juridica
*/
private String inmueble;

/**
* Nombre del departamento de la direccion de una persona natural o juridica
*/
private String departamento;

/**
* Nombre de la urbanizacion en la que se encuentra la direccion
*/
private String urbanizacion;

/**
* Codigo de barras de la direccion
*/
private String codigobarras;

/**
* Codigo de reparto asociado a la direccion de una persona
*/
private String creparto;

/**
* Direccion condensada de la persona natural o juridica
*/
private String direccion;

/**
* Fecha en la que se ingresa por primera vez los datos de la direccion de la persona
*/
private Date fingreso;

/**
* Codigo postal de la direccion primeros 5 digitos para el caso de US
*/
private String codigozip5;

/**
* Codigo postal de la direccion ultimos 4 digitos
*/
private String codigozip4;

/**
* Codigo del tipo de sitio de la direccion de una persona
*/
private String ctipositio;

/**
* Codigo de barrio
*/
private String cbarrio;

/**
* Marca si la direccion esta certificada o no
*/
private String certificada;

/**
* Nombre del propietario de la direccion
*/
private String nombrepropietario;

/**
* Fecha en que ingresa a la direccion
*/
private Date fingresoresidencia;

/**
* Fecha en la que sale de la direccion
*/
private Date fsalidaresidencia;

/**
* Observaciones de la direccion en la que se ingresan detalles complementarios de la misma
*/
private String observaciones;

/**
* Codigo del usuario que ingreso por primera vez los datos de la direccion de una persona
*/
private String cusuario_ingreso;

/**
* Codigo del usuario que modifica los datos de la direccion de una persona
*/
private String cusuario_modificacion;

/**
* Codigo del tipo de via de las direcciones de personas
*/
private String ctipovia;

/**
* Codigo del tipo de numeracion de las direcciones de personas
*/
private String ctiponumeral;

/**
* Latitud de la ubicacion GPS de la direccion
*/
private BigDecimal latitudgps;

/**
* Longitud de la ubicacion GPS de la direccion
*/
private BigDecimal longitudgps;

/**
* Codigo de imagen de la ubicacion GPS de la direccion
*/
private Long cimagen_gps;

/**
* Manejo de optimistic loking
*/
private Integer versioncontrol;

/**
* Codigo de la parroquia
*/
private String cparroquia;

/**
* Codigo del canton al que pertenece la ciudad
*/
private String ccanton;

/**
* Nombre de la calle transversal de la direccion de la persona natural o juridica
*/
private String transversal;

/**
* Nombre del sector o pueblo de la direccion de una persona natural o juridica
*/
private String sector;

/**
* Fecha en la que se modifican los datos de la direccion de una persona
*/
private Date fmodificacion;

/**Contructor por defecto*/
public Taddressperson(){}
/**Contructor de Taddressperson
@param pPk Clave Primaria del entity
@param pCtipodireccion Codigo del tipo de direccion
@param pFdesde Fecha desde la que estan vigentes los datos de direccion de una persona natural o juridica
@param pCpais Codigo del pais
@param pDireccionprincipal Marca si la direccion es la principal del cliente o no
*/
public Taddressperson(TaddresspersonKey pPk,String pCtipodireccion,Timestamp pFdesde,String pCpais,String pDireccionprincipal){
 pk=pPk;
 ctipodireccion=pCtipodireccion;
 fdesde=pFdesde;
 cpais=pCpais;
 direccionprincipal=pDireccionprincipal;
}
/**Entrega la Clave primaria de Taddressperson
@return El objeto que referencia a la Clave primaria de Taddressperson
*/
public TaddresspersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Taddressperson
@param pPk El objeto que referencia a la nueva Clave primaria de Taddressperson
*/
public void setPk(TaddresspersonKey pPk){
  pk=pPk;
}
public static final String CTIPODIRECCION="CTIPODIRECCION";
/**Obtiene el valor de ctipodireccion
@return valor de ctipodireccion*/
public String getCtipodireccion(){
  return ctipodireccion;
}
/**Fija el valor de ctipodireccion
@param pCtipodireccion nuevo Valor de ctipodireccion*/
public void setCtipodireccion(String pCtipodireccion){
  ctipodireccion=pCtipodireccion;
}

public static final String FDESDE="FDESDE";
/**Obtiene el valor de fdesde
@return valor de fdesde*/
public Timestamp getFdesde(){
  return fdesde;
}
/**Fija el valor de fdesde
@param pFdesde nuevo Valor de fdesde*/
public void setFdesde(Timestamp pFdesde){
  fdesde=pFdesde;
}

public static final String CPAIS="CPAIS";
/**Obtiene el valor de cpais
@return valor de cpais*/
public String getCpais(){
  return cpais;
}
/**Fija el valor de cpais
@param pCpais nuevo Valor de cpais*/
public void setCpais(String pCpais){
  cpais=pCpais;
}

public static final String CPROVINCIA="CPROVINCIA";
/**Obtiene el valor de cprovincia
@return valor de cprovincia*/
public String getCprovincia(){
  return cprovincia;
}
/**Fija el valor de cprovincia
@param pCprovincia nuevo Valor de cprovincia*/
public void setCprovincia(String pCprovincia){
  cprovincia=pCprovincia;
}

public static final String CCIUDAD="CCIUDAD";
/**Obtiene el valor de cciudad
@return valor de cciudad*/
public String getCciudad(){
  return cciudad;
}
/**Fija el valor de cciudad
@param pCciudad nuevo Valor de cciudad*/
public void setCciudad(String pCciudad){
  cciudad=pCciudad;
}

public static final String DIRECCIONPRINCIPAL="DIRECCIONPRINCIPAL";
/**Obtiene el valor de direccionprincipal
@return valor de direccionprincipal*/
public String getDireccionprincipal(){
  return direccionprincipal;
}
/**Fija el valor de direccionprincipal
@param pDireccionprincipal nuevo Valor de direccionprincipal*/
public void setDireccionprincipal(String pDireccionprincipal){
  direccionprincipal=pDireccionprincipal;
}

public static final String CALLE="CALLE";
/**Obtiene el valor de calle
@return valor de calle*/
public String getCalle(){
  return calle;
}
/**Fija el valor de calle
@param pCalle nuevo Valor de calle*/
public void setCalle(String pCalle){
  calle=pCalle;
}

public static final String NUMERO="NUMERO";
/**Obtiene el valor de numero
@return valor de numero*/
public String getNumero(){
  return numero;
}
/**Fija el valor de numero
@param pNumero nuevo Valor de numero*/
public void setNumero(String pNumero){
  numero=pNumero;
}

public static final String INMUEBLE="INMUEBLE";
/**Obtiene el valor de inmueble
@return valor de inmueble*/
public String getInmueble(){
  return inmueble;
}
/**Fija el valor de inmueble
@param pInmueble nuevo Valor de inmueble*/
public void setInmueble(String pInmueble){
  inmueble=pInmueble;
}

public static final String DEPARTAMENTO="DEPARTAMENTO";
/**Obtiene el valor de departamento
@return valor de departamento*/
public String getDepartamento(){
  return departamento;
}
/**Fija el valor de departamento
@param pDepartamento nuevo Valor de departamento*/
public void setDepartamento(String pDepartamento){
  departamento=pDepartamento;
}

public static final String URBANIZACION="URBANIZACION";
/**Obtiene el valor de urbanizacion
@return valor de urbanizacion*/
public String getUrbanizacion(){
  return urbanizacion;
}
/**Fija el valor de urbanizacion
@param pUrbanizacion nuevo Valor de urbanizacion*/
public void setUrbanizacion(String pUrbanizacion){
  urbanizacion=pUrbanizacion;
}

public static final String CODIGOBARRAS="CODIGOBARRAS";
/**Obtiene el valor de codigobarras
@return valor de codigobarras*/
public String getCodigobarras(){
  return codigobarras;
}
/**Fija el valor de codigobarras
@param pCodigobarras nuevo Valor de codigobarras*/
public void setCodigobarras(String pCodigobarras){
  codigobarras=pCodigobarras;
}

public static final String CREPARTO="CREPARTO";
/**Obtiene el valor de creparto
@return valor de creparto*/
public String getCreparto(){
  return creparto;
}
/**Fija el valor de creparto
@param pCreparto nuevo Valor de creparto*/
public void setCreparto(String pCreparto){
  creparto=pCreparto;
}

public static final String DIRECCION="DIRECCION";
/**Obtiene el valor de direccion
@return valor de direccion*/
public String getDireccion(){
  return direccion;
}
/**Fija el valor de direccion
@param pDireccion nuevo Valor de direccion*/
public void setDireccion(String pDireccion){
  direccion=pDireccion;
}

public static final String FINGRESO="FINGRESO";
/**Obtiene el valor de fingreso
@return valor de fingreso*/
public Date getFingreso(){
  return fingreso;
}
/**Fija el valor de fingreso
@param pFingreso nuevo Valor de fingreso*/
public void setFingreso(Date pFingreso){
  fingreso=pFingreso;
}

public static final String CODIGOZIP5="CODIGOZIP5";
/**Obtiene el valor de codigozip5
@return valor de codigozip5*/
public String getCodigozip5(){
  return codigozip5;
}
/**Fija el valor de codigozip5
@param pCodigozip5 nuevo Valor de codigozip5*/
public void setCodigozip5(String pCodigozip5){
  codigozip5=pCodigozip5;
}

public static final String CODIGOZIP4="CODIGOZIP4";
/**Obtiene el valor de codigozip4
@return valor de codigozip4*/
public String getCodigozip4(){
  return codigozip4;
}
/**Fija el valor de codigozip4
@param pCodigozip4 nuevo Valor de codigozip4*/
public void setCodigozip4(String pCodigozip4){
  codigozip4=pCodigozip4;
}

public static final String CTIPOSITIO="CTIPOSITIO";
/**Obtiene el valor de ctipositio
@return valor de ctipositio*/
public String getCtipositio(){
  return ctipositio;
}
/**Fija el valor de ctipositio
@param pCtipositio nuevo Valor de ctipositio*/
public void setCtipositio(String pCtipositio){
  ctipositio=pCtipositio;
}

public static final String CBARRIO="CBARRIO";
/**Obtiene el valor de cbarrio
@return valor de cbarrio*/
public String getCbarrio(){
  return cbarrio;
}
/**Fija el valor de cbarrio
@param pCbarrio nuevo Valor de cbarrio*/
public void setCbarrio(String pCbarrio){
  cbarrio=pCbarrio;
}

public static final String CERTIFICADA="CERTIFICADA";
/**Obtiene el valor de certificada
@return valor de certificada*/
public String getCertificada(){
  return certificada;
}
/**Fija el valor de certificada
@param pCertificada nuevo Valor de certificada*/
public void setCertificada(String pCertificada){
  certificada=pCertificada;
}

public static final String NOMBREPROPIETARIO="NOMBREPROPIETARIO";
/**Obtiene el valor de nombrepropietario
@return valor de nombrepropietario*/
public String getNombrepropietario(){
  return nombrepropietario;
}
/**Fija el valor de nombrepropietario
@param pNombrepropietario nuevo Valor de nombrepropietario*/
public void setNombrepropietario(String pNombrepropietario){
  nombrepropietario=pNombrepropietario;
}

public static final String FINGRESORESIDENCIA="FINGRESORESIDENCIA";
/**Obtiene el valor de fingresoresidencia
@return valor de fingresoresidencia*/
public Date getFingresoresidencia(){
  return fingresoresidencia;
}
/**Fija el valor de fingresoresidencia
@param pFingresoresidencia nuevo Valor de fingresoresidencia*/
public void setFingresoresidencia(Date pFingresoresidencia){
  fingresoresidencia=pFingresoresidencia;
}

public static final String FSALIDARESIDENCIA="FSALIDARESIDENCIA";
/**Obtiene el valor de fsalidaresidencia
@return valor de fsalidaresidencia*/
public Date getFsalidaresidencia(){
  return fsalidaresidencia;
}
/**Fija el valor de fsalidaresidencia
@param pFsalidaresidencia nuevo Valor de fsalidaresidencia*/
public void setFsalidaresidencia(Date pFsalidaresidencia){
  fsalidaresidencia=pFsalidaresidencia;
}

public static final String OBSERVACIONES="OBSERVACIONES";
/**Obtiene el valor de observaciones
@return valor de observaciones*/
public String getObservaciones(){
  return observaciones;
}
/**Fija el valor de observaciones
@param pObservaciones nuevo Valor de observaciones*/
public void setObservaciones(String pObservaciones){
  observaciones=pObservaciones;
}

public static final String CUSUARIO_INGRESO="CUSUARIO_INGRESO";
/**Obtiene el valor de cusuario_ingreso
@return valor de cusuario_ingreso*/
public String getCusuario_ingreso(){
  return cusuario_ingreso;
}
/**Fija el valor de cusuario_ingreso
@param pCusuario_ingreso nuevo Valor de cusuario_ingreso*/
public void setCusuario_ingreso(String pCusuario_ingreso){
  cusuario_ingreso=pCusuario_ingreso;
}

public static final String CUSUARIO_MODIFICACION="CUSUARIO_MODIFICACION";
/**Obtiene el valor de cusuario_modificacion
@return valor de cusuario_modificacion*/
public String getCusuario_modificacion(){
  return cusuario_modificacion;
}
/**Fija el valor de cusuario_modificacion
@param pCusuario_modificacion nuevo Valor de cusuario_modificacion*/
public void setCusuario_modificacion(String pCusuario_modificacion){
  cusuario_modificacion=pCusuario_modificacion;
}

public static final String CTIPOVIA="CTIPOVIA";
/**Obtiene el valor de ctipovia
@return valor de ctipovia*/
public String getCtipovia(){
  return ctipovia;
}
/**Fija el valor de ctipovia
@param pCtipovia nuevo Valor de ctipovia*/
public void setCtipovia(String pCtipovia){
  ctipovia=pCtipovia;
}

public static final String CTIPONUMERAL="CTIPONUMERAL";
/**Obtiene el valor de ctiponumeral
@return valor de ctiponumeral*/
public String getCtiponumeral(){
  return ctiponumeral;
}
/**Fija el valor de ctiponumeral
@param pCtiponumeral nuevo Valor de ctiponumeral*/
public void setCtiponumeral(String pCtiponumeral){
  ctiponumeral=pCtiponumeral;
}

public static final String LATITUDGPS="LATITUDGPS";
/**Obtiene el valor de latitudgps
@return valor de latitudgps*/
public BigDecimal getLatitudgps(){
  return latitudgps;
}
/**Fija el valor de latitudgps
@param pLatitudgps nuevo Valor de latitudgps*/
public void setLatitudgps(BigDecimal pLatitudgps){
  latitudgps=pLatitudgps;
}

public static final String LONGITUDGPS="LONGITUDGPS";
/**Obtiene el valor de longitudgps
@return valor de longitudgps*/
public BigDecimal getLongitudgps(){
  return longitudgps;
}
/**Fija el valor de longitudgps
@param pLongitudgps nuevo Valor de longitudgps*/
public void setLongitudgps(BigDecimal pLongitudgps){
  longitudgps=pLongitudgps;
}

public static final String CIMAGEN_GPS="CIMAGEN_GPS";
/**Obtiene el valor de cimagen_gps
@return valor de cimagen_gps*/
public Long getCimagen_gps(){
  return cimagen_gps;
}
/**Fija el valor de cimagen_gps
@param pCimagen_gps nuevo Valor de cimagen_gps*/
public void setCimagen_gps(Long pCimagen_gps){
  cimagen_gps=pCimagen_gps;
}

public static final String VERSIONCONTROL="VERSIONCONTROL";
/**Obtiene el valor de versioncontrol
@return valor de versioncontrol*/
public Integer getVersioncontrol(){
  return versioncontrol;
}
/**Fija el valor de versioncontrol
@param pVersioncontrol nuevo Valor de versioncontrol*/
public void setVersioncontrol(Integer pVersioncontrol){
  versioncontrol=pVersioncontrol;
}

public static final String CPARROQUIA="CPARROQUIA";
/**Obtiene el valor de cparroquia
@return valor de cparroquia*/
public String getCparroquia(){
  return cparroquia;
}
/**Fija el valor de cparroquia
@param pCparroquia nuevo Valor de cparroquia*/
public void setCparroquia(String pCparroquia){
  cparroquia=pCparroquia;
}

public static final String CCANTON="CCANTON";
/**Obtiene el valor de ccanton
@return valor de ccanton*/
public String getCcanton(){
  return ccanton;
}
/**Fija el valor de ccanton
@param pCcanton nuevo Valor de ccanton*/
public void setCcanton(String pCcanton){
  ccanton=pCcanton;
}

public static final String TRANSVERSAL="TRANSVERSAL";
/**Obtiene el valor de transversal
@return valor de transversal*/
public String getTransversal(){
  return transversal;
}
/**Fija el valor de transversal
@param pTransversal nuevo Valor de transversal*/
public void setTransversal(String pTransversal){
  transversal=pTransversal;
}

public static final String SECTOR="SECTOR";
/**Obtiene el valor de sector
@return valor de sector*/
public String getSector(){
  return sector;
}
/**Fija el valor de sector
@param pSector nuevo Valor de sector*/
public void setSector(String pSector){
  sector=pSector;
}

public static final String FMODIFICACION="FMODIFICACION";
/**Obtiene el valor de fmodificacion
@return valor de fmodificacion*/
public Date getFmodificacion(){
  return fmodificacion;
}
/**Fija el valor de fmodificacion
@param pFmodificacion nuevo Valor de fmodificacion*/
public void setFmodificacion(Date pFmodificacion){
  fmodificacion=pFmodificacion;
}

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