Files
FIprojetIHM2022/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/ChangementNP.java

77 lines
2.1 KiB
Java
Raw Normal View History

2022-10-26 15:10:08 +02:00
package fr.iutfbleau.projetIHM2022FI2.MNP;
import fr.iutfbleau.projetIHM2022FI2.API.*;
import java.util.*;
/**
* Une demande de changement de groupe
* concerne un étudiant, qui est dans un groupe A et veut aller dans un groupe B.
*
* Implémentation non persistante fournie avec l'API.
*/
public class ChangementNP implements Changement {
2022-10-31 12:53:56 +01:00
//auto-incrément des changements
private static int nextId=0;
2022-10-26 15:10:08 +02:00
private int id;
private Groupe a,b;
private Etudiant e;
public ChangementNP(Groupe a, Etudiant e, Groupe b){
Objects.requireNonNull(a,"On ne peut pas créer un changement avec un groupe à quitter null");
Objects.requireNonNull(b,"On ne peut pas créer un changement avec un groupe à rejoindre null");
Objects.requireNonNull(e,"On ne peut pas créer un changement concernant un étudiant null");
2022-10-31 12:53:56 +01:00
this.id=++this.nextId;
2022-10-26 15:10:08 +02:00
this.a=a;
this.b=b;
this.e=e;
}
2022-11-29 15:34:17 +01:00
public ChangementNP(Groupe a, Etudiant e, Groupe b, int id){
Objects.requireNonNull(a,"On ne peut pas créer un changement avec un groupe à quitter null");
Objects.requireNonNull(b,"On ne peut pas créer un changement avec un groupe à rejoindre null");
Objects.requireNonNull(e,"On ne peut pas créer un changement concernant un étudiant null");
this.id=id;
this.a=a;
this.b=b;
this.e=e;
if(this.id>this.nextId){
this.nextId=this.id;
}
}
2022-10-26 15:10:08 +02:00
/**
* permet de récupérer l'identifiant du changement (référence interne sans intérêt irl).
* @return l'identifiant.
*/
public int getId(){
return this.id;
}
/**
* permet de récupérer le groupe de depart
* @return ce groupe.
*/
public Groupe getA(){
return this.a;
}
2022-11-28 10:29:52 +01:00
/** e
2022-10-26 15:10:08 +02:00
* @return ce groupe.
*/
public Groupe getB(){
2022-10-31 12:53:56 +01:00
return this.b;
2022-10-26 15:10:08 +02:00
}
/**
* permet de récupérer l'étudiant demandant le changement
* @return cet étudiant
*/
public Etudiant getEtu(){
return this.e;
}
}