package com.titanic.ventapasajes.modelo; import javax.persistence.*; import javax.validation.constraints.NotNull; import org.hibernate.validator.constraints.NotBlank; import java.io.Serializable; @Entity @Table(name = "pvm_cliente") public class Cliente implements Serializable{ private static final long serialVersionUID = 1L; private Long ideCliente; private String nombreCliente; private String email; private String numeroDocumento; private TipoPersona tipoPersona; private TipoDocumento tipoDocumento; private Sexo sexo; private int edad; private String numeroTelefono; private boolean debePresentarCartaNotarial = false; @Id @GeneratedValue @Column(name="ide_cliente", nullable = false, length= 10) public Long getIdeCliente() { return ideCliente; } public void setIdeCliente(Long ideCliente) { this.ideCliente = ideCliente; } @NotBlank @Column(name="nombre_cliente", nullable=false, length = 255) public String getNombreCliente() { return nombreCliente; } public void setNombreCliente(String nombreCliente) { this.nombreCliente = nombreCliente; } @NotNull @Enumerated(EnumType.STRING) @Column(name="tipo_persona", nullable=false, length = 50) public TipoPersona getTipoPersona() { return tipoPersona; } public void setTipoPersona(TipoPersona tipo) { this.tipoPersona = tipo; } @NotNull @Enumerated(EnumType.STRING) @Column(name="sexo", nullable=false, length = 50) public Sexo getSexo() { return sexo; } public void setSexo(Sexo sexo) { this.sexo = sexo; } @NotNull @Enumerated(EnumType.STRING) @Column(name="tipo_documento", nullable=false, length = 50) public TipoDocumento getTipoDocumento() { return tipoDocumento; } public void setTipoDocumento(TipoDocumento tipoDocumento) { this.tipoDocumento = tipoDocumento; } @Column(name="email", unique=true, nullable=true, length = 100) public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @NotBlank @Column(name="numero_documento", unique=true, nullable=false, length = 11) public String getNumeroDocumento() { return numeroDocumento; } public void setNumeroDocumento(String numeroDocumento) { this.numeroDocumento = numeroDocumento; } @Column(name="numero_telefono", nullable=true, length = 100) public String getNumeroTelefono() { return numeroTelefono; } public void setNumeroTelefono(String numeroTelefono) { this.numeroTelefono = numeroTelefono; } @Column(name="edad", nullable = false, length = 3) public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } @Override public String toString() { return numeroDocumento; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((ideCliente == null) ? 0 : ideCliente.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Cliente other = (Cliente) obj; if (ideCliente == null) { if (other.ideCliente != null) return false; } else if (!ideCliente.equals(other.ideCliente)) return false; return true; } @Transient public boolean isDebePresentarCartaNotarial() { return debePresentarCartaNotarial; } public void setDebePresentarCartaNotarial(boolean debePresentarCartaNotarial) { this.debePresentarCartaNotarial = debePresentarCartaNotarial; } }