POssibiliter Grupe: Renomer, supprimer, créer, ajouter des Etudiant

This commit is contained in:
2022-11-13 19:50:53 +01:00
parent e9fac29412
commit 323c6e43e2
13 changed files with 355 additions and 14 deletions

View File

@@ -32,8 +32,8 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
* @param g le groupe (methode récursive)
*/
private void addSousGroupe(Groupe g){
this.brain.put(g.getId(), g);
for(Groupe s:g.getSousGroupes()){
this.brain.put(g.getId(), g);
this.addSousGroupe(s);
}
}
@@ -84,7 +84,7 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
if (this.getPromotion().equals(g)){
throw new IllegalArgumentException("Impossible de détruire le groupe de toute la promotion");
}
if (g.getSize()>0){
if (g.getSousGroupes().size()>0){
throw new IllegalStateException("Impossible de détruire un groupe contenant un groupe");
}
g.getPointPoint().removeSousGroupe(g);

View File

@@ -22,6 +22,19 @@ public class EtudiantNP implements Etudiant{
this.nom=nom;
this.prenom=prenom;
}
/**
* Constructeur.
*/
public EtudiantNP(String nom, String prenom, int id){
Objects.requireNonNull(nom,"On ne peut pas créer un étudiant avec un nom null");
Objects.requireNonNull(prenom,"On ne peut pas créer un étudiant avec un nom null");
// auto incrément de l'id
this.id=id;
this.nextId++;
this.nom=nom;
this.prenom=prenom;
}
/**
* permet de récupérer l'identifiant de l'étudiant.

View File

@@ -207,6 +207,14 @@ public class GroupeNP implements Groupe {
public Set<Etudiant> getEtudiants(){
return this.membresDuGroupe;
}
/**
* Change le nom du groupe
* @param s le nouveau nom
*/
@Override
public void setName(String s){
this.name=s;
}
}