/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.entidad;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author RJ
 */
@Entity

@SequenceGenerator(name = "CLIENTE_DIRECCION_SEQ", sequenceName = "CLIENTE_DIRECCION_SEQ", allocationSize = 1)
@Table(name = "CLIENTE_DIRECCION")

public class ClienteDireccion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "CLIENTE_DIRECCION_SEQ")
    @Column(name = "CLIENTEDIRECCION_ID")
    private Integer clientedireccionId;
    
    @Column(name = "DESCCALLE")
    private String desccalle;
    
    @Column(name = "DESCCALLECOMP")
    private String desccallecomp;
    
    @Column(name = "DESCDELEGACION")
    private String descdelegacion;
    
    @JoinColumn(name = "TIPODOMICILIO_ID")
    @OneToOne(cascade=CascadeType.ALL)
    private TipoDomicilio tipodomicilioId;
    
    @Column(name = "DESCPLANO")
    private String descplano;
    
    @Column(name = "DESCCOORDENADA")
    private String desccoordenada;
    
    @Column(name = "FECHORINICIOENTREGA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechorinicioentrega;
    
    @Column(name = "FECHORFINENTREGA")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechorfinentrega;
    
    @Column(name = "COLONIA_ID")
    private Integer coloniaId;
    
    @Column(name = "ACTIVO")
    private Boolean activo;
    @Column(name = "FECMODIF")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecmodif;
    @Column(name = "USUARIO_ID")
    private Integer usuarioId;
    @Column(name = "NUMINTERIOR")
    private String numinterior;
    @Column(name = "NUMEXTERIOR")
    private String numexterior;
    @Column(name = "DESCCOLONIA")
    private String desccolonia;
    @Column(name = "CODPOSTAL")
    private String codpostal;
    @Column(name = "DESCIUDAD")
    private String desciudad;
    @Column(name = "DESESTADO")
    private String desestado;

    
    @JoinColumn(name = "CLIENTE_ID", referencedColumnName = "CLIENTE_ID")
    @ManyToOne
    private Cliente clienteId;


    public ClienteDireccion() {
    	
    }

    public ClienteDireccion(Integer clientedireccionId) {
        this.clientedireccionId = clientedireccionId;
    }

    public Integer getClientedireccionId() {
        return clientedireccionId;
    }

    public void setClientedireccionId(Integer clientedireccionId) {
        this.clientedireccionId = clientedireccionId;
    }


    public Cliente getClienteId() {
		return clienteId;
	}

	public void setClienteId(Cliente clienteId) {
		this.clienteId = clienteId;
	}

	public String getDesccalle() {
        return desccalle;
    }

    public void setDesccalle(String desccalle) {
        this.desccalle = desccalle;
    }

    public String getDesccallecomp() {
        return desccallecomp;
    }

    public void setDesccallecomp(String desccallecomp) {
        this.desccallecomp = desccallecomp;
    }

    public String getDescdelegacion() {
        return descdelegacion;
    }

    public void setDescdelegacion(String descdelegacion) {
        this.descdelegacion = descdelegacion;
    }

    public TipoDomicilio getTipodomicilioId() {
        return tipodomicilioId;
    }

    public void setTipodomicilioId(TipoDomicilio tipodomicilioId) {
        this.tipodomicilioId = tipodomicilioId;
    }

    public String getDescplano() {
        return descplano;
    }

    public void setDescplano(String descplano) {
        this.descplano = descplano;
    }

    public String getDesccoordenada() {
        return desccoordenada;
    }

    public void setDesccoordenada(String desccoordenada) {
        this.desccoordenada = desccoordenada;
    }

    public Date getFechorinicioentrega() {
        return fechorinicioentrega;
    }

    public void setFechorinicioentrega(Date fechorinicioentrega) {
        this.fechorinicioentrega = fechorinicioentrega;
    }

    public Date getFechorfinentrega() {
        return fechorfinentrega;
    }

    public void setFechorfinentrega(Date fechorfinentrega) {
        this.fechorfinentrega = fechorfinentrega;
    }

    public Integer getColoniaId() {
        return coloniaId;
    }

    public void setColoniaId(Integer coloniaId) {
        this.coloniaId = coloniaId;
    }

    public Boolean getActivo() {
        return activo;
    }

    public void setActivo(Boolean activo) {
        this.activo = activo;
    }

    public Date getFecmodif() {
        return fecmodif;
    }

    public void setFecmodif(Date fecmodif) {
        this.fecmodif = fecmodif;
    }

    public Integer getUsuarioId() {
        return usuarioId;
    }

    public void setUsuarioId(Integer usuarioId) {
        this.usuarioId = usuarioId;
    }

    public String getNuminterior() {
        return numinterior;
    }

    public void setNuminterior(String numinterior) {
        this.numinterior = numinterior;
    }

    public String getNumexterior() {
        return numexterior;
    }

    public void setNumexterior(String numexterior) {
        this.numexterior = numexterior;
    }

    public String getDesccolonia() {
        return desccolonia;
    }

    public void setDesccolonia(String desccolonia) {
        this.desccolonia = desccolonia;
    }

    public String getCodpostal() {
        return codpostal;
    }

    public void setCodpostal(String codpostal) {
        this.codpostal = codpostal;
    }

    public String getDesciudad() {
        return desciudad;
    }

    public void setDesciudad(String desciudad) {
        this.desciudad = desciudad;
    }

    public String getDesestado() {
        return desestado;
    }

    public void setDesestado(String desestado) {
        this.desestado = desestado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (clientedireccionId != null ? clientedireccionId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ClienteDireccion)) {
            return false;
        }
        ClienteDireccion other = (ClienteDireccion) object;
        if ((this.clientedireccionId == null && other.clientedireccionId != null) || (this.clientedireccionId != null && !this.clientedireccionId.equals(other.clientedireccionId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.rjconsultores.ventaboletos.entidad.ClienteDireccion[ clientedireccionId=" + clientedireccionId + " ]";
    }
    
}
