MNP pour les préréservation, test simple et documentation
This commit is contained in:
87
src/fr/iutfbleau/projetIHM2021FI2/MNP/ReservationNP.java
Normal file
87
src/fr/iutfbleau/projetIHM2021FI2/MNP/ReservationNP.java
Normal file
@@ -0,0 +1,87 @@
|
||||
package fr.iutfbleau.projetIHM2021FI2.MNP;
|
||||
import fr.iutfbleau.projetIHM2021FI2.API.*;
|
||||
import java.util.*;
|
||||
/**
|
||||
* Une Réservation non presistante toute bête
|
||||
*
|
||||
* e.g. utilisé par le système de réservation interne à l'hôtel.
|
||||
*
|
||||
*/
|
||||
|
||||
public class ReservationNP implements Reservation {
|
||||
|
||||
private String reference;
|
||||
private Date dateDebut;
|
||||
private int jours;
|
||||
private Chambre chambre;
|
||||
private Client client;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*
|
||||
* NB. on force jours>0 et les autres attributs à ne pas être null
|
||||
*/
|
||||
public ReservationNP(String reference, Date dateDebut, int jours, Chambre chambre, Client client){
|
||||
Objects.requireNonNull(reference,"On ne peut pas créer une réservation avec un reference à null.");
|
||||
Objects.requireNonNull(dateDebut,"On ne peut pas créer une réservation avec un date de début à null.");
|
||||
if (jours<1) {
|
||||
throw new IllegalArgumentException("On ne peut pas créer une réservation avec un nombre de jours négatif ou nul.");
|
||||
}
|
||||
Objects.requireNonNull(chambre,"On ne peut pas créer une réservation avec une chambre à null.");
|
||||
Objects.requireNonNull(client,"On ne peut pas créer une réservation avec un client à null.");
|
||||
this.reference=reference;
|
||||
this.dateDebut=dateDebut;
|
||||
|
||||
this.jours=jours;
|
||||
this.chambre=chambre;
|
||||
this.client=client;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* permet de récupérer
|
||||
* @return la référence.
|
||||
*/
|
||||
public String getReference(){
|
||||
return this.reference;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de récupérer
|
||||
* @return la date de début
|
||||
*
|
||||
* A priori seule la date est importante, le reste est sans importance.
|
||||
*/
|
||||
public Date getDateDebut(){
|
||||
return this.dateDebut;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de récupérer
|
||||
* @return la durée en jours (mais comme un entier)
|
||||
*/
|
||||
public int getJours(){
|
||||
return this.jours;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de récupérer
|
||||
* @return le type de chambre
|
||||
*/
|
||||
public Chambre getChambre(){
|
||||
return this.chambre;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de récupérer
|
||||
* @return le client
|
||||
*/
|
||||
public Client getClient(){
|
||||
return this.client;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user