60 lines
1.5 KiB
Java
60 lines
1.5 KiB
Java
|
/**
|
||
|
* Définition d'un agenda individuel.
|
||
|
*/
|
||
|
public class AgendaIndividuel extends AgendaAbstrait {
|
||
|
|
||
|
/** Le texte des rendezVous */
|
||
|
private String[] rendezVous;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Créer un agenda vide (avec aucun rendez-vous).
|
||
|
*
|
||
|
* @param nom le nom de l'agenda
|
||
|
* @throws IllegalArgumentException si nom nul ou vide
|
||
|
*/
|
||
|
public AgendaIndividuel(String nom) throws IllegalArgumentException {
|
||
|
super(nom);
|
||
|
this.rendezVous = new String[Agenda.CRENEAU_MAX + 1];
|
||
|
// On gaspille une case (la première qui ne sera jamais utilisée)
|
||
|
// mais on évite de nombreux « creneau - 1 »
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public void enregistrer(int creneau, String rdv) throws CreneauInvalideException, IllegalArgumentException, OccupeException {
|
||
|
super.verifierCreneauValide(creneau);
|
||
|
|
||
|
if (rdv == null || rdv.length() < 1) {
|
||
|
throw new IllegalArgumentException();
|
||
|
} else if (this.rendezVous[creneau] != null) {
|
||
|
throw new OccupeException();
|
||
|
} else {
|
||
|
this.rendezVous[creneau] = rdv;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public boolean annuler(int creneau) throws CreneauInvalideException {
|
||
|
super.verifierCreneauValide(creneau);
|
||
|
boolean modifie = this.rendezVous[creneau] != null;
|
||
|
this.rendezVous[creneau] = null;
|
||
|
return modifie;
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public String getRendezVous(int creneau) throws CreneauInvalideException, LibreException {
|
||
|
super.verifierCreneauValide(creneau);
|
||
|
String rdv = this.rendezVous[creneau];
|
||
|
if (rdv == null) {
|
||
|
throw new LibreException();
|
||
|
} else {
|
||
|
return rdv;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|