Commit 073061c5 by Antonio Rueda

Cambios menores: expresión regular para código postal, mensajes de error en anotaciones

de validación por patrón, comprobación de validez de reserva, getter
que faltan.
parent b858f151
......@@ -15,7 +15,7 @@ public class Cliente {
@NotBlank
String direccion;
@Pattern(regexp = "^(\\+34|0034|34)?[6789]\\d{8}$")
@Pattern(regexp = "^(\\+34|0034|34)?[6789]\\d{8}$", message = "No es un número de teléfono válido")
String tlf;
// Clave
......@@ -40,4 +40,16 @@ public class Cliente {
public String clave() {
return clave;
}
public String nombre() {
return nombre;
}
public String tlf() {
return tlf;
}
public String direccion() {
return direccion;
}
}
package es.ujaen.dae.reservahoteles.entidades;
import es.ujaen.dae.reservahoteles.excepciones.ReservaNoValida;
import es.ujaen.dae.reservahoteles.excepciones.NoDisponibilidadReserva;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
......@@ -27,7 +28,7 @@ public class Hotel {
String localidad;
@NotBlank
String provincia;
@Pattern(regexp="/^(?:0[1-9]|[1-4]\\d|5[0-2])\\d{3}$/")
@Pattern(regexp="^(?:0[1-9]|[1-4]\\d|5[0-2])\\d{3}$", message = "No es un código postal válido")
String cp;
// Disponibilidad habitaciones
......@@ -63,6 +64,9 @@ public class Hotel {
* @param reserva la reserva a añadir
*/
public void nuevaReserva(Reserva reserva) {
if (!reserva.valida())
throw new ReservaNoValida();
if (!disponible(reserva.fechaInicio(), reserva.fechaFin(), reserva.numHabSimple(), reserva.numHabDoble()))
throw new NoDisponibilidadReserva();
......@@ -147,6 +151,30 @@ public class Hotel {
public void nombre(String nombre) {
this.nombre = nombre;
}
public int numHabSimple() {
return numHabSimple;
}
public int numHabDoble() {
return numHabDoble;
}
public int precioHabSimple() {
return precioHabSimple;
}
public int precioHabDoble() {
return precioHabDoble;
}
public String provincia() {
return provincia;
}
public String cp() {
return cp;
}
/**
* Operación auxiliar para comprobar si una fecha están dentro de un intervalo dado
......
......@@ -52,4 +52,15 @@ public class Reserva {
public int numHabDoble() {
return numHabDoble;
}
/**
* Implementa la precondición para que una reserva sea válida:
* fecha de fin de reserva posterior a la de inicio y número de habitaciones
* distinto de cero.
*
* @return true si la reserva es válida; false en caso contrario
*/
public boolean valida() {
return fechaInicio.isBefore(fechaFin) && numHabSimple + numHabDoble > 0;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment