diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f327c55 --- /dev/null +++ b/Makefile @@ -0,0 +1,373 @@ +# COMMANDES # +JAVAC = javac +# note $$ to get a single shell $ +JAVAC_OPTIONS = -implicit:none -d build -classpath "res/mariadb-client.jar:build" -sourcepath src +JAVA = java +JAR = jar +EXEC_JAR = ${JAVA} -jar + +# CHEMINS RELATIFS +SRC = src/fr/iutfbleau/projetIHM2022FI2 +BUILD = build/fr/iutfbleau/projetIHM2022FI2 +DOC = doc/fr/iutfbleau/projetIHM2022FI2 + +# CHOIX NOMS +JAR_MNP = IHM.jar + +# BUTS FACTICES # +.PHONY : run clean doc + +# BUT PAR DEFAUT # +run : build\ + ${JAR_MNP} + ${EXEC_JAR} ${JAR_MNP} + +# AUTRE BUTS +doc : + javadoc -d doc src/fr/iutfbleau/projetIHM2022FI2/API/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/ROOT/Controller/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/ROOT/View/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/ETU/Controller/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/ETU/View/*.java src/fr/iutfbleau/projetIHM2022FI2/MP/ETU/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/View/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/Controller/*.java + javadoc -d doc src/fr/iutfbleau/projetIHM2022FI2/API/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/ROOT/Controller/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/ROOT/View/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/ETU/Controller/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/ETU/View/*.java src/fr/iutfbleau/projetIHM2022FI2/MNP/ETU/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/Model/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/View/*.java src/fr/iutfbleau/projetIHM2022FI2/PROF/Controller/*.java +clean : + rm -rf ${BUILD}/* *.jar + + +# REGLES DE DEPENDANCE # +## Dossier ## +build : + mkdir build +## API ## +${BUILD}/API/Model.class : ${SRC}/API/Model.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/Model.java + +${BUILD}/API/MonPrint.class : ${SRC}/API/MonPrint.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/MonPrint.java + +${BUILD}/API/TypeGroupe.class : ${SRC}/API/TypeGroupe.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/TypeGroupe.java + +${BUILD}/API/Groupe.class : ${SRC}/API/Groupe.java \ + ${BUILD}/API/TypeGroupe.class\ + ${BUILD}/API/MonPrint.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/Groupe.java + +${BUILD}/API/Etudiant.class : ${SRC}/API/Etudiant.java \ + ${BUILD}/API/MonPrint.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/Etudiant.java + +${BUILD}/API/Changement.class : ${SRC}/API/Changement.java \ + ${BUILD}/API/Etudiant.class \ + ${BUILD}/API/Groupe.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/Changement.java + +${BUILD}/API/AbstractGroupeFactory.class : ${SRC}/API/AbstractGroupeFactory.java \ + ${BUILD}/API/Groupe.class \ + ${BUILD}/API/Etudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/AbstractGroupeFactory.java + +${BUILD}/API/AbstractChangementFactory.class : ${SRC}/API/AbstractChangementFactory.java \ + ${BUILD}/API/AbstractGroupeFactory.class \ + ${BUILD}/API/Changement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/API/AbstractChangementFactory.java + +## MP ## + +${BUILD}/MP/EtudiantNP.class : ${SRC}/MP/EtudiantNP.java \ + ${BUILD}/API/Etudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/EtudiantNP.java + + +${BUILD}/MP/GroupeNP.class : ${SRC}/MP/GroupeNP.java \ + ${BUILD}/API/Groupe.class \ + ${BUILD}/API/TypeGroupe.class \ + ${BUILD}/API/Etudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/GroupeNP.java + + +${BUILD}/MP/ChangementNP.class : ${BUILD}/API/Changement.class \ + ${SRC}/MP/ChangementNP.java \ + ${BUILD}/API/Groupe.class \ + ${BUILD}/API/Etudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ChangementNP.java + +${BUILD}/MP/AbstractGroupeFactoryNP.class : ${SRC}/MP/AbstractGroupeFactoryNP.java \ + ${BUILD}/API/AbstractGroupeFactory.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/AbstractGroupeFactoryNP.java + +${BUILD}/MP/AbstractChangementFactoryNP.class : ${SRC}/MP/AbstractChangementFactoryNP.java \ + ${BUILD}/API/AbstractChangementFactory.class \ + ${BUILD}/API/Changement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/AbstractChangementFactoryNP.java + + + +## ROOT ## + + +## View ## + +${BUILD}/MP/ROOT/View/FindBarFenetre.class : ${SRC}/MP/ROOT/View/FindBarFenetre.java\ + ${BUILD}/MP/ROOT/Controller/ListenerFindBar.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/FindBarFenetre.java + + +${BUILD}/MP/ROOT/View/FenetreChangement.class : ${SRC}/MP/ROOT/View/FenetreChangement.java \ + ${BUILD}/MP/ROOT/Controller/ActionChangement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/FenetreChangement.java + +${BUILD}/MP/ROOT/View/FenetreGroupe.class : ${SRC}/MP/ROOT/View/FenetreGroupe.java \ + ${BUILD}/Permanent/Controller/ObservateurFenetre.class \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class \ + ${BUILD}/MP/ROOT/Controller/ObservateurModifGroupe.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/FenetreGroupe.java + +${BUILD}/MP/ROOT/View/FenetreEtudiant.class :${SRC}/MP/ROOT/View/FenetreEtudiant.java \ + ${BUILD}/Permanent/Controller/ObservateurFenetre.class \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class \ + ${BUILD}/MP/ROOT/View/PanelEtudiant.class \ + ${BUILD}/Permanent/Controller/ActionListenerChangeEtu.class \ + ${BUILD}/MP/ROOT/Controller/ActionListChange.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/FenetreEtudiant.java + +${BUILD}/MP/ROOT/View/PanelEtudiant.class : ${SRC}/MP/ROOT/View/PanelEtudiant.java \ + ${BUILD}/MP/ROOT/Controller/ActionListenerSuprEtu.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/PanelEtudiant.java + + +${BUILD}/MP/ROOT/View/FenetreSelectionEtu.class : ${SRC}/MP/ROOT/View/FenetreSelectionEtu.java \ + ${BUILD}/MP/ROOT/Controller/SelecteurEtudiant.class \ + ${BUILD}/MP/ROOT/Controller/ActionListenerNouveauEtu.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/View/FenetreSelectionEtu.java + + +## Controller ## +${BUILD}/MP/ROOT/Controller/ListenerFindBar.class : ${SRC}/MP/ROOT/Controller/ListenerFindBar.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ListenerFindBar.java + + +${BUILD}/MP/ROOT/Controller/ActionListenerSuprEtu.class : ${SRC}/MP/ROOT/Controller/ActionListenerSuprEtu.java \ + ${BUILD}/API/Etudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ActionListenerSuprEtu.java + +${BUILD}/MP/ROOT/Controller/ActionChangement.class : ${SRC}/MP/ROOT/Controller/ActionChangement.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ActionChangement.java + +${BUILD}/MP/ROOT/Controller/ObservateurModifGroupe.class : ${SRC}/MP/ROOT/Controller/ObservateurModifGroupe.java \ + ${BUILD}/MP/ROOT/View/FenetreSelectionEtu.class \ + ${BUILD}/MP/ROOT/Controller/SelecteurEtudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ObservateurModifGroupe.java + +${BUILD}/MP/ROOT/Controller/SelecteurEtudiant.class : ${SRC}/MP/ROOT/Controller/SelecteurEtudiant.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/SelecteurEtudiant.java + +${BUILD}/MP/ROOT/Controller/ActionListenerNouveauEtu.class : ${SRC}/MP/ROOT/Controller/ActionListenerNouveauEtu.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ActionListenerNouveauEtu.java + +${BUILD}/MP/ROOT/Controller/ActionListChange.class : ${SRC}/MP/ROOT/Controller/ActionListChange.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Controller/ActionListChange.java + +##.... + + +## Model ### + +${BUILD}/MP/ROOT/Model/ModelRoot.class : ${SRC}/MP/ROOT/Model/ModelRoot.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/ROOT/View/FenetreGroupe.class \ + ${BUILD}/MP/ROOT/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class \ + ${BUILD}/MP/ROOT/View/FenetreChangement.class \ + ${BUILD}/MP/ROOT/View/FindBarFenetre.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ROOT/Model/ModelRoot.java + + + + + + +## ETU ## + + +## View ## + +${BUILD}/MP/ETU/View/FenetreGroupe.class : ${SRC}/MP/ETU/View/FenetreGroupe.java \ + ${BUILD}/Permanent/Controller/ObservateurFenetre.class \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ETU/View/FenetreGroupe.java + +${BUILD}/MP/ETU/View/FenetreEtudiant.class :${SRC}/MP/ETU/View/FenetreEtudiant.java \ + ${BUILD}/Permanent/Controller/ObservateurFenetre.class \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class \ + ${BUILD}/MP/ETU/View/PanelEtudiant.class \ + ${BUILD}/Permanent/Controller/ActionListenerChangeEtu.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ETU/View/FenetreEtudiant.java + +${BUILD}/MP/ETU/View/PanelEtudiant.class : ${SRC}/MP/ETU/View/PanelEtudiant.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ETU/View/PanelEtudiant.java + + + +## Controller ## + + + +##.... + + +## Model ### + +${BUILD}/MP/ETU/Model/ModelEtu.class : ${SRC}/MP/ETU/Model/ModelEtu.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/ETU/View/FenetreGroupe.class \ + ${BUILD}/MP/ETU/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/ETU/Model/ModelEtu.java + + +## PROF ## + + +## View ## + +${BUILD}/MP/PROF/View/FenetreGroupe.class : ${SRC}/MP/PROF/View/FenetreGroupe.java \ + ${BUILD}/Permanent/Controller/ObservateurFenetre.class \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/PROF/View/FenetreGroupe.java + +${BUILD}/MP/PROF/View/FenetreEtudiant.class :${SRC}/MP/PROF/View/FenetreEtudiant.java \ + ${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class \ + ${BUILD}/MP/PROF/View/PanelEtudiant.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/PROF/View/FenetreEtudiant.java + +${BUILD}/MP/PROF/View/PanelEtudiant.class : ${SRC}/MP/PROF/View/PanelEtudiant.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/PROF/View/PanelEtudiant.java + + + +## Controller ## + + + +##.... + + +## Model ### + +${BUILD}/MP/PROF/Model/ModelProf.class : ${SRC}/MP/PROF/Model/ModelProf.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/PROF/View/FenetreGroupe.class \ + ${BUILD}/MP/PROF/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MP/PROF/Model/ModelProf.java + + + +## MNP ## + +${BUILD}/MNP/AbstractGroupeFactoryNP.class : ${SRC}/MNP/AbstractGroupeFactoryNP.java \ + ${BUILD}/API/AbstractGroupeFactory.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MNP/AbstractGroupeFactoryNP.java + +${BUILD}/MNP/AbstractChangementFactoryNP.class : ${SRC}/MNP/AbstractChangementFactoryNP.java \ + ${BUILD}/API/AbstractChangementFactory.class \ + ${BUILD}/API/Changement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MNP/AbstractChangementFactoryNP.java + + +## ROOT ## + + +## Model ### + +${BUILD}/MNP/ROOT/Model/ModelRoot.class : ${SRC}/MNP/ROOT/Model/ModelRoot.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/ROOT/View/FenetreGroupe.class \ + ${BUILD}/MP/ROOT/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class \ + ${BUILD}/MP/ROOT/View/FenetreChangement.class \ + ${BUILD}/MP/ROOT/View/FindBarFenetre.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MNP/ROOT/Model/ModelRoot.java + + +## ETU ## + + + +## Model ### + +${BUILD}/MNP/ETU/Model/ModelEtu.class : ${SRC}/MNP/ETU/Model/ModelEtu.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/ETU/View/FenetreGroupe.class \ + ${BUILD}/MP/ETU/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MNP/ETU/Model/ModelEtu.java + + +## PROF ## + + + +## Model ### + +${BUILD}/MNP/PROF/Model/ModelProf.class : ${SRC}/MNP/PROF/Model/ModelProf.java \ + ${BUILD}/API/Model.class \ + ${BUILD}/MP/PROF/View/FenetreGroupe.class \ + ${BUILD}/MP/PROF/View/FenetreEtudiant.class \ + ${BUILD}/Permanent/View/Chargement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/MNP/PROF/Model/ModelProf.java + + +##... FIN MNP ## + +## Permanent ## + + ${BUILD}/Permanent/Connexion.class : ${SRC}/Permanent/Connexion.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/View/Connexion.java + + ${BUILD}/Permanent/IHM.class : ${SRC}/Permanent/IHM.java \ + ${BUILD}/MP/EtudiantNP.class \ + ${BUILD}/MP/GroupeNP.class \ + ${BUILD}/MP/ChangementNP.class \ + ${BUILD}/MP/AbstractGroupeFactoryNP.class \ + ${BUILD}/MP/AbstractChangementFactoryNP.class \ + ${BUILD}/MP/ROOT/Model/ModelRoot.class \ + ${BUILD}/MP/ETU/Model/ModelEtu.class \ + ${BUILD}/MP/PROF/Model/ModelProf.class \ + ${BUILD}/MNP/AbstractGroupeFactoryNP.class \ + ${BUILD}/MNP/AbstractChangementFactoryNP.class \ + ${BUILD}/MNP/ROOT/Model/ModelRoot.class \ + ${BUILD}/MNP/ETU/Model/ModelEtu.class \ + ${BUILD}/MNP/PROF/Model/ModelProf.class \ + ${BUILD}/Permanent/View/Connexion.class \ + ${BUILD}/Permanent/Util/User.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/IHM.java +## View ## + +${BUILD}/Permanent/View/Chargement.class : ${SRC}/Permanent/View/Chargement.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent//View/Chargement.java + +${BUILD}/Permanent/View/Connexion.class : ${SRC}/Permanent/View/Connexion.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/View/Connexion.java + +## Util ## + +${BUILD}/Permanent/Util/User.class : ${SRC}/Permanent/Util/User.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/Util/User.java + +## Controller ## + +${BUILD}/Permanent/Controller/ObservateurFenetre.class : ${SRC}/Permanent/Controller/ObservateurFenetre.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/Controller/ObservateurFenetre.java + +${BUILD}/Permanent/Controller/ObservateurChangeGroupe.class : ${SRC}/Permanent/Controller/ObservateurChangeGroupe.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/Controller/ObservateurChangeGroupe.java + +${BUILD}/Permanent/Controller/ActionListenerChangeEtu.class : ${SRC}/Permanent/Controller/ActionListenerChangeEtu.java \ + ${BUILD}/Permanent/Controller/ControllerGroupeBChangement.class + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/Controller/ActionListenerChangeEtu.java + +${BUILD}/Permanent/Controller/ControllerGroupeBChangement.class : ${SRC}/Permanent/Controller/ControllerGroupeBChangement.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Permanent/Controller/ControllerGroupeBChangement.java + +# ## JARS ## + + ${JAR_MNP} : ${BUILD}/Permanent/IHM.class + ${JAR} cfme ${JAR_MNP} Manifest.txt fr/iutfbleau/projetIHM2022FI2/Permanent/IHM res/ -C build fr diff --git a/Manifest.txt b/Manifest.txt new file mode 100644 index 0000000..b9f8abb --- /dev/null +++ b/Manifest.txt @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: res/mariadb-client.jar +Created-By: 1.7.0_06 (Oracle Corporation) \ No newline at end of file diff --git a/doc/allclasses-frame.html b/doc/allclasses-frame.html new file mode 100644 index 0000000..6ad2b37 --- /dev/null +++ b/doc/allclasses-frame.html @@ -0,0 +1,30 @@ + + + +
+ +public interface AbstractChangementFactory
+Modifier and Type | +Method and Description | +
---|---|
void |
+applyChangement(Changement c)
+permet de mettre en oeuvre un changement connu de l'usine abstraite.
+ |
+
void |
+createChangement(Groupe A,
+ Etudiant e,
+ Groupe B)
+permet d'ajouter un nouveau changement.
+ |
+
void |
+deleteChangement(Changement c)
+permet de supprimer un changement connu de l'usine abstraite.
+ |
+
java.util.Set<Changement> |
+getAllChangements()
+permet de récupérer les changements
+ |
+
AbstractGroupeFactory |
+getGroupeFactory()
+permet de récupérer une usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite
+ |
+
AbstractGroupeFactory getGroupeFactory()+
java.util.Set<Changement> getAllChangements()+
void applyChangement(Changement c)+
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si inconnu de l'usine abstraitevoid deleteChangement(Changement c)+
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si inconnu de l'usine abstraitevoid createChangement(Groupe A, + Etudiant e, + Groupe B)+
A
- groupe actuelB
- groupe demandée
- étudiant concerné par le changementjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si les groupes ou l'étudiant ne sont pas connus de la factory partenaire, ou e n'appartient pas à A ou A et B ne sont pas frères dans l'arbre des groupes.public interface AbstractGroupeFactory
+Modifier and Type | +Method and Description | +
---|---|
void |
+addToGroupe(Groupe g,
+ Etudiant e)
+permet d'ajouter un étudiant à un groupe.
+ |
+
void |
+createGroupe(Groupe pere,
+ java.lang.String name,
+ int min,
+ int max)
+permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.
+ |
+
void |
+createPartition(Groupe pere,
+ java.lang.String name,
+ int n)
+permet de créer une partition automatiquement sous un groupe donné.
+ |
+
void |
+deleteGroupe(Groupe g)
+permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes.
+ |
+
void |
+dropFromGroupe(Groupe g,
+ Etudiant e)
+permet d'enlever un étudiant d'un groupe.
+ |
+
java.util.Set<Etudiant> |
+getEtudiants(java.lang.String nomEtu)
+permet de retrouver un étudiant à partir d'un String.
+ |
+
java.util.Set<Groupe> |
+getGroupesOfEtudiant(Etudiant etu)
+permet de retrouver les groupes d'un étudiant.
+ |
+
Groupe |
+getPromotion()
+permet de récupérer le Groupe qui contient les étudiants de toute la promotion
+ |
+
java.lang.Boolean |
+knows(Groupe g)
+Test si le groupe g est connu de l'usine (connu maintenant).
+ |
+
Groupe getPromotion()+
java.lang.Boolean knows(Groupe g)+
void deleteGroupe(Groupe g)+
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- si le groupe contient des groupesjava.lang.IllegalArgumentException
- si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion)void createGroupe(Groupe pere, + java.lang.String name, + int min, + int max)+
pere
- le groupe père du groupe à créername
- le nom du groupe à créermin,max
- bornes indicatives sur la taille du groupe à créerjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si le groupe pere est de type PARTITION
+ ou si il n'y a pas 0 < min <= maxvoid createPartition(Groupe pere, + java.lang.String name, + int n)+
pere
- le groupe père du groupe à partitionnername
- le nom des groupe à créer (on ajoutera à la suite un numéro ou une lettre pour distinguer chaque groupe)n
- le nombre de partitionsjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si le groupe pere est de type PARTITION
+ ou n négatif ou nul
+
+ NB. doit créer une "copie" de pere
+ sous pere de type Partition et ajouter sous ce groupe, n groupes de type "FREE".
+ les valeurs min et max de ces n groupes sont
+ min = 0 et
+ max = partie entière de N/n plus 1, où N est le nombre max du groupe pere.void addToGroupe(Groupe g, + Etudiant e)+
g
- le groupe dans lequel il faut ajouter l'étudiante
- l'étudiant à ajouterjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- la factory ne connaît pas gjava.lang.IllegalStateException
- le père de g ne contient pas evoid dropFromGroupe(Groupe g, + Etudiant e)+
g
- le groupe dans lequel il faut enlever l'étudiante
- l'étudiant à enleverjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- g ne contient pas ejava.lang.IllegalArgumentException
- la factory ne connaît pas gjava.util.Set<Etudiant> getEtudiants(java.lang.String nomEtu)+
String
- nomEtu le nom approximmatif de l'étudiantjava.lang.NullPointerException
- si le String est null.java.util.Set<Groupe> getGroupesOfEtudiant(Etudiant etu)+
Etu
- un étudiantjava.lang.NullPointerException
- si le String est null.public interface Changement +extends MonPrint+
Modifier and Type | +Method and Description | +
---|---|
Groupe |
+getA()
+permet de récupérer le groupe de depart
+ |
+
Groupe |
+getB()
+permet de récupérer le groupe d'arrivée
+ |
+
Etudiant |
+getEtu()
+permet de récupérer l'étudiant demandant le changement
+ |
+
int |
+getId()
+permet de récupérer l'identifiant du changement (référence interne sans intérêt irl).
+ |
+
default java.lang.String |
+monPrint()
+Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().
+ |
+
int getId()+
Groupe getA()+
Groupe getB()+
Etudiant getEtu()+
default java.lang.String monPrint()+
MonPrint
monPrint
in interface MonPrint
NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici.
+
+ NB2. On ne peut pas utiliser le toString de Objects
+ https://stackoverflow.com/questions/24016962/java8-why-is-it-forbidden-to-define-a-default-method-for-a-method-from-java-lan
public interface Etudiant +extends MonPrint+
Modifier and Type | +Method and Description | +
---|---|
int |
+getId()
+permet de récupérer l'identifiant de l'étudiant.
+ |
+
java.lang.String |
+getNom()
+permet de récupérer
+ |
+
java.lang.String |
+getPrenom()
+permet de récupérer
+ |
+
default java.lang.String |
+monPrint()
+Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().
+ |
+
int getId()+
java.lang.String getNom()+
java.lang.String getPrenom()+
default java.lang.String monPrint()+
MonPrint
monPrint
in interface MonPrint
NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici.
Modifier and Type | +Method and Description | +
---|---|
boolean |
+addEtudiant(Etudiant e)
+Ajoute un étudiant.
+ |
+
boolean |
+addSousGroupe(Groupe g)
+Ajoute un sous-groupe.
+ |
+
java.util.Set<Etudiant> |
+getEtudiants()
+Potentiellement "vide"
+ |
+
int |
+getId()
+permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl).
+ |
+
int |
+getMax()
+permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe.
+ |
+
int |
+getMin()
+permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe.
+ |
+
java.lang.String |
+getName()
+permet de récupérer le nom d'un groupe (utile irl).
+ |
+
Groupe |
+getPointPoint()
+permet de récupérer le groupe père
+ un groupe racine devrait retourner lui-même
+ |
+
int |
+getSize()
+permet de récupérer le nombre d'étudiants dans ce groupe.
+ |
+
java.util.Set<Groupe> |
+getSousGroupes()
+Potentiellement "vide"
+ |
+
TypeGroupe |
+getType()
+permet de récupérer la nature du groupe
+ |
+
default java.lang.String |
+monPrint()
+Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().
+ |
+
boolean |
+removeEtudiant(Etudiant e)
+Enlève un étudiant.
+ |
+
boolean |
+removeSousGroupe(Groupe g)
+Enlève un groupe.
+ |
+
boolean addEtudiant(Etudiant e)+
boolean removeEtudiant(Etudiant e)+
boolean addSousGroupe(Groupe g)+
boolean removeSousGroupe(Groupe g)+
int getId()+
java.lang.String getName()+
int getMin()+
int getMax()+
int getSize()+
TypeGroupe getType()+
Groupe getPointPoint()+
java.util.Set<Groupe> getSousGroupes()+
java.util.Set<Etudiant> getEtudiants()+
default java.lang.String monPrint()+
MonPrint
monPrint
in interface MonPrint
NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici.
+
+ NB2. On ne peut pas utiliser le toString de Objects
+ https://stackoverflow.com/questions/24016962/java8-why-is-it-forbidden-to-define-a-default-method-for-a-method-from-java-lan
public interface MonPrint
+Modifier and Type | +Method and Description | +
---|---|
java.lang.String |
+monPrint()
+Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint().
+ |
+
public enum TypeGroupe +extends java.lang.Enum<TypeGroupe>+
Enum Constant and Description | +
---|
FREE |
+
PARTITION |
+
ROOT |
+
Modifier and Type | +Method and Description | +
---|---|
static TypeGroupe |
+valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+ |
+
static TypeGroupe[] |
+values()
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+ |
+
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
getClass, notify, notifyAll, wait, wait, wait
public static final TypeGroupe ROOT+
public static final TypeGroupe PARTITION+
public static final TypeGroupe FREE+
public static TypeGroupe[] values()+
+for (TypeGroupe c : TypeGroupe.values()) + System.out.println(c); +
public static TypeGroupe valueOf(java.lang.String name)+
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullInterface | +Description | +
---|---|
AbstractChangementFactory | +
+ Usine abstraite gérant l'ensemble des changements.
+ |
+
AbstractGroupeFactory | +
+ Usine abstraite gérant l'ensemble des groupes.
+ |
+
Changement | +
+ Une demande de changement de groupe
+ concerne un étudiant, qui est dans un groupe A et veut aller dans un groupe B.
+ |
+
Etudiant | +
+ Un étudiant
+ |
+
Groupe | +
+ Un groupe
+ |
+
MonPrint | +
+ Toutes nos interfaces vont étendre cette interface.
+ |
+
Enum | +Description | +
---|---|
TypeGroupe | ++ |
public class AbstractChangementFactoryNP +extends java.lang.Object +implements AbstractChangementFactory+
Constructor and Description | +
---|
AbstractChangementFactoryNP(AbstractGroupeFactory agf) |
+
Modifier and Type | +Method and Description | +
---|---|
void |
+applyChangement(Changement c)
+permet de mettre en oeuvre un changement connu de l'usine abstraite.
+ |
+
void |
+createChangement(Groupe A,
+ Etudiant e,
+ Groupe B)
+permet d'ajouter un nouveau changement.
+ |
+
void |
+deleteChangement(Changement c)
+permet de supprimer un changement connu de l'usine abstraite.
+ |
+
java.util.Set<Changement> |
+getAllChangements()
+permet de récupérer les changements
+ |
+
AbstractGroupeFactory |
+getGroupeFactory()
+permet de récupérer l'usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public AbstractChangementFactoryNP(AbstractGroupeFactory agf)+
public AbstractGroupeFactory getGroupeFactory()+
getGroupeFactory
in interface AbstractChangementFactory
public java.util.Set<Changement> getAllChangements()+
getAllChangements
in interface AbstractChangementFactory
public void applyChangement(Changement c)+
applyChangement
in interface AbstractChangementFactory
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- si le changement n'a pas de sens en l'état actuel (e.g. étudiant pas dans le groupe de départ a, groupe b inconnu, groupe a inconnu, etc).java.lang.IllegalArgumentException
- si inconnu de l'usine abstraitepublic void deleteChangement(Changement c)+
deleteChangement
in interface AbstractChangementFactory
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si inconnu de l'usine abstraitepublic void createChangement(Groupe A, + Etudiant e, + Groupe B)+
createChangement
in interface AbstractChangementFactory
A
- groupe actuelB
- groupe demandée
- étudiant concerné par le changementjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si les groupes ou l'étudiant ne sont pas connus de la factory partenaire, ou e n'appartient pas à A ou A et B ne sont pas frères dans l'arbre des groupes.public class AbstractGroupeFactoryNP +extends java.lang.Object +implements AbstractGroupeFactory+
Constructor and Description | +
---|
AbstractGroupeFactoryNP(java.lang.String name,
+ int min,
+ int max)
+Le constructeur fabrique le groupe promotion vide.
+ |
+
Modifier and Type | +Method and Description | +
---|---|
void |
+addToGroupe(Groupe g,
+ Etudiant e)
+permet d'ajouter un étudiant à un groupe.
+ |
+
void |
+createGroupe(Groupe pere,
+ java.lang.String name,
+ int min,
+ int max)
+permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.
+ |
+
void |
+createPartition(Groupe pere,
+ java.lang.String name,
+ int n)
+permet de créer une partition automatiquement sous un groupe donné.
+ |
+
void |
+deleteGroupe(Groupe g)
+permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes.
+ |
+
void |
+dropFromGroupe(Groupe g,
+ Etudiant e)
+permet d'enlever un étudiant d'un groupe.
+ |
+
java.util.Set<Etudiant> |
+getEtudiants(java.lang.String nomEtu)
+permet de retrouver un étudiant à partir d'un String.
+ |
+
java.util.Set<Groupe> |
+getGroupesOfEtudiant(Etudiant etu)
+permet de retrouver les groupes d'un étudiant.
+ |
+
Groupe |
+getPromotion()
+permet de récupérer le Groupe qui contient les étudiants de toute la promotion
+ |
+
java.lang.Boolean |
+knows(Groupe g)
+Test plutôt optimiste.
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public AbstractGroupeFactoryNP(java.lang.String name, + int min, + int max)+
public java.lang.Boolean knows(Groupe g)+
knows
in interface AbstractGroupeFactory
public Groupe getPromotion()+
getPromotion
in interface AbstractGroupeFactory
public void deleteGroupe(Groupe g)+
deleteGroupe
in interface AbstractGroupeFactory
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- si le groupe contient des groupesjava.lang.IllegalArgumentException
- si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion)public void createGroupe(Groupe pere, + java.lang.String name, + int min, + int max)+
createGroupe
in interface AbstractGroupeFactory
pere
- le groupe père du groupe à créername
- le nom du groupe à créermin,max
- bornes indicatives sur la taille du groupe à créerjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si le groupe pere est de type PARTITION
+ ou si il n'y a pas 0 < min <= maxpublic void createPartition(Groupe pere, + java.lang.String name, + int n)+
createPartition
in interface AbstractGroupeFactory
pere
- le groupe père du groupe à partitionnername
- le nom des groupe à créer (on ajoute à la suite un numéro de 1 à n pour distinguer chaque groupe formant la partition)n
- le nombre de partitionsjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si le groupe pere est de type PARTITION
+ ou n négatif ou nul
+
+ NB. doit créer une "copie" de pere
+ sous pere de type Partition et ajouter sous ce groupe, n groupes de type "FREE".
+ les valeurs min et max de ces n groupes sont
+ min = 0 et
+ max = partie entière de N/n plus 1, où N est le nombre max du groupe pere.public void addToGroupe(Groupe g, + Etudiant e)+
addToGroupe
in interface AbstractGroupeFactory
g
- le groupe dans lequel il faut ajouter l'étudiante
- l'étudiant à ajouterjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- la factory ne connaît pas gjava.lang.IllegalStateException
- le père de g ne contient pas epublic void dropFromGroupe(Groupe g, + Etudiant e)+
dropFromGroupe
in interface AbstractGroupeFactory
g
- le groupe dans lequel il faut enlever l'étudiante
- l'étudiant à enleverjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- g ne contient pas ejava.lang.IllegalArgumentException
- la factory ne connaît pas gpublic java.util.Set<Etudiant> getEtudiants(java.lang.String nomEtu)+
getEtudiants
in interface AbstractGroupeFactory
String
- nomEtu le nom approximmatif de l'étudiantjava.lang.NullPointerException
- si le String est null.public java.util.Set<Groupe> getGroupesOfEtudiant(Etudiant etu)+
getGroupesOfEtudiant
in interface AbstractGroupeFactory
Etu
- un étudiantjava.lang.NullPointerException
- si le String est null.public class ChangementNP +extends java.lang.Object +implements Changement+
Constructor and Description | +
---|
ChangementNP(Groupe a,
+ Etudiant e,
+ Groupe b) |
+
Modifier and Type | +Method and Description | +
---|---|
Groupe |
+getA()
+permet de récupérer le groupe de depart
+ |
+
Groupe |
+getB()
+permet de récupérer le groupe d'arrivée
+ |
+
Etudiant |
+getEtu()
+permet de récupérer l'étudiant demandant le changement
+ |
+
int |
+getId()
+permet de récupérer l'identifiant du changement (référence interne sans intérêt irl).
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
monPrint
public int getId()+
getId
in interface Changement
public Groupe getA()+
getA
in interface Changement
public Groupe getB()+
getB
in interface Changement
public Etudiant getEtu()+
getEtu
in interface Changement
Constructor and Description | +
---|
EtudiantNP(java.lang.String nom,
+ java.lang.String prenom)
+Constructeur.
+ |
+
Modifier and Type | +Method and Description | +
---|---|
int |
+getId()
+permet de récupérer l'identifiant de l'étudiant.
+ |
+
java.lang.String |
+getNom()
+permet de récupérer
+ |
+
java.lang.String |
+getPrenom()
+permet de récupérer
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public EtudiantNP(java.lang.String nom, + java.lang.String prenom)+
Constructor and Description | +
---|
GroupeNP(Groupe pere)
+Nouveau groupe de type PARTITION dupliquant le groupe passé en paramètre (pour servir de racine à une partition de ce groupe de type FREE passé en paramètre).
+ |
+
GroupeNP(Groupe pere,
+ java.lang.String name,
+ int min,
+ int max)
+Nouveau groupe vide de type FREE sans étudiants, sans sous-Groupe
+ |
+
GroupeNP(java.lang.String name,
+ int min,
+ int max)
+Nouveau groupe vide de type ROOT sans étudiants, sans sous-Groupe
+ |
+
Modifier and Type | +Method and Description | +
---|---|
boolean |
+addEtudiant(Etudiant e)
+Ajoute un étudiant.
+ |
+
boolean |
+addSousGroupe(Groupe g)
+Ajoute un sous-groupe.
+ |
+
java.util.Set<Etudiant> |
+getEtudiants()
+Potentiellement "vide"
+ Attention nous renvoyons l'ensemble sans le copier
+ |
+
int |
+getId()
+permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl).
+ |
+
int |
+getMax()
+permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe.
+ |
+
int |
+getMin()
+permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe.
+ |
+
java.lang.String |
+getName()
+permet de récupérer le nom d'un groupe (utile irl).
+ |
+
Groupe |
+getPointPoint()
+permet de récupérer le groupe père
+ un groupe racine devrait retourner lui-même
+ |
+
int |
+getSize()
+permet de récupérer le nombre d'étudiants dans ce groupe.
+ |
+
java.util.Set<Groupe> |
+getSousGroupes()
+Potentiellement "vide"
+ Attention nous renvoyons l'ensemble sans le copier
+ |
+
TypeGroupe |
+getType()
+permet de récupérer la nature du groupe
+ |
+
boolean |
+removeEtudiant(Etudiant e)
+Enlève un étudiant.
+ |
+
boolean |
+removeSousGroupe(Groupe g)
+Enlève un groupe.
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public GroupeNP(java.lang.String name, + int min, + int max)+
public GroupeNP(Groupe pere, + java.lang.String name, + int min, + int max)+
public GroupeNP(Groupe pere)+
public boolean addEtudiant(Etudiant e)+
addEtudiant
in interface Groupe
public boolean removeEtudiant(Etudiant e)+
removeEtudiant
in interface Groupe
public boolean addSousGroupe(Groupe g)+
addSousGroupe
in interface Groupe
public boolean removeSousGroupe(Groupe g)+
removeSousGroupe
in interface Groupe
public int getId()+
public java.lang.String getName()+
public int getMin()+
public int getMax()+
public int getSize()+
public TypeGroupe getType()+
public Groupe getPointPoint()+
getPointPoint
in interface Groupe
public java.util.Set<Groupe> getSousGroupes()+
getSousGroupes
in interface Groupe
public java.util.Set<Etudiant> getEtudiants()+
getEtudiants
in interface Groupe
Class | +Description | +
---|---|
AbstractChangementFactoryNP | +
+ Usine abstraite gérant l'ensemble des changements.
+ |
+
AbstractGroupeFactoryNP | +
+ Usine abstraite gérant l'ensemble des groupes.
+ |
+
ChangementNP | +
+ Une demande de changement de groupe
+ concerne un étudiant, qui est dans un groupe A et veut aller dans un groupe B.
+ |
+
EtudiantNP | +
+ Un étudiant
+ |
+
GroupeNP | +
+ Un groupe
+ |
+
The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+Each annotation type has its own separate page with the following sections:
+Each enum has its own separate page with the following sections:
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object
. The interfaces do not inherit from java.lang.Object
.
The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+These links take you to the next or previous class, interface, package, or related page.
+These links show and hide the HTML frames. All pages are available with or without frames.
+The All Classes link shows all classes and interfaces except non-static nested types.
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+The Constant Field Values page lists the static final fields and their values.
++ + diff --git a/doc/overview-summary.html b/doc/overview-summary.html new file mode 100644 index 0000000..b6e5d88 --- /dev/null +++ b/doc/overview-summary.html @@ -0,0 +1,137 @@ + + + + + +
Package | +Description | +
---|---|
fr.iutfbleau.projetIHM2022FI2.API | ++ |
fr.iutfbleau.projetIHM2022FI2.MNP | ++ |