diff --git a/2A/Java/tp/.idea/.gitignore b/2A/Java/tp/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/2A/Java/tp/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/2A/Java/tp/.idea/misc.xml b/2A/Java/tp/.idea/misc.xml new file mode 100644 index 0000000..20f033c --- /dev/null +++ b/2A/Java/tp/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/modules.xml b/2A/Java/tp/.idea/modules.xml new file mode 100644 index 0000000..667c008 --- /dev/null +++ b/2A/Java/tp/.idea/modules.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/tp.iml b/2A/Java/tp/.idea/tp.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/2A/Java/tp/.idea/tp.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/vcs.xml b/2A/Java/tp/.idea/vcs.xml new file mode 100644 index 0000000..c2365ab --- /dev/null +++ b/2A/Java/tp/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/tp1-intro.iml b/2A/Java/tp/1_tp/TP1/TP1.iml similarity index 100% rename from 2A/Java/tp/tp1-intro/tp1-intro.iml rename to 2A/Java/tp/1_tp/TP1/TP1.iml diff --git a/2A/Java/tp/tp4-fichier/tp4-fichier.iml b/2A/Java/tp/1_tp/my/my.iml similarity index 79% rename from 2A/Java/tp/tp4-fichier/tp4-fichier.iml rename to 2A/Java/tp/1_tp/my/my.iml index c90834f..4c9e711 100644 --- a/2A/Java/tp/tp4-fichier/tp4-fichier.iml +++ b/2A/Java/tp/1_tp/my/my.iml @@ -3,7 +3,7 @@ - + diff --git a/2A/Java/tp/tp2-zoo/tp2-zoo.iml b/2A/Java/tp/2_tp/2_tp.iml similarity index 58% rename from 2A/Java/tp/tp2-zoo/tp2-zoo.iml rename to 2A/Java/tp/2_tp/2_tp.iml index 8cb7438..64fc361 100644 --- a/2A/Java/tp/tp2-zoo/tp2-zoo.iml +++ b/2A/Java/tp/2_tp/2_tp.iml @@ -1,9 +1,9 @@ - + - + diff --git a/2A/Java/tp/tp3-vehicules/tp3-vehicules.iml b/2A/Java/tp/3_tp/3_tp.iml similarity index 58% rename from 2A/Java/tp/tp3-vehicules/tp3-vehicules.iml rename to 2A/Java/tp/3_tp/3_tp.iml index 8cb7438..57b2c60 100644 --- a/2A/Java/tp/tp3-vehicules/tp3-vehicules.iml +++ b/2A/Java/tp/3_tp/3_tp.iml @@ -1,9 +1,9 @@ - + - + diff --git a/2A/Java/tp/3_tp/TP3/data.ser b/2A/Java/tp/3_tp/TP3/data.ser new file mode 100644 index 0000000..8b54d62 Binary files /dev/null and b/2A/Java/tp/3_tp/TP3/data.ser differ diff --git a/2A/Java/tp/3_tp/TP3/donnees.csv b/2A/Java/tp/3_tp/TP3/donnees.csv new file mode 100644 index 0000000..32a2f1c --- /dev/null +++ b/2A/Java/tp/3_tp/TP3/donnees.csv @@ -0,0 +1 @@ +Voiture{nom='monNom', plaque='maPlaque'} diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/ExportCSV.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/ExportCSV.class index 28cf016..46ffe04 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/ExportCSV.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/ExportCSV.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class new file mode 100644 index 0000000..c23ed44 Binary files /dev/null and b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class index 37e2c01..8003e02 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class index 4e2eb0a..0f68098 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class index 7ee983c..b447e5f 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/VehiculeTheque.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/VehiculeTheque.class index b85a8e1..ccef805 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/VehiculeTheque.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/VehiculeTheque.class differ diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Voiture.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Voiture.class index ee915dd..eeedd85 100644 Binary files a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Voiture.class and b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Voiture.class differ diff --git a/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java b/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java index a726105..1c98507 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java +++ b/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java @@ -1,4 +1,43 @@ package data; +import models.Vehicule; +import models.Voiture; + +import java.io.*; + public class ExportCSV { + public String csvReader() { + try (BufferedReader in = new BufferedReader( + new FileReader("donnees.csv"))) { + String s; + StringBuilder sb = new StringBuilder(); + while ((s = in.readLine()) != null) { + sb.append(s); + sb.append("\n"); + // Découper la ligne en utilisant le point-virgule comme séparateur + + String[] elements = s.split(";"); + + // Faire quelque chose avec les éléments découpés + for (String element : elements) { + System.out.println("Élément : " + element); + } +// Lire la ligne puis la decouper au points virgules + } + return sb.toString(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public void csvWriter(Vehicule monVehicule) { + try (BufferedWriter out = new BufferedWriter( + new FileWriter("donnees.csv"))) { + out.append(monVehicule.getNom()); + out.append("; "); + out.append(monVehicule.getPlaque()); + out.append("\n"); + } catch (IOException e) { +// Gestion erreur + } + } } diff --git a/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java b/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java index fe72393..3e34d64 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java +++ b/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java @@ -1,31 +1,27 @@ package data; +import models.Vehicule; import models.VehiculeTheque; +import models.Voiture; import java.io.*; -//public class Serialiser { -// try ( -// BufferedReader in = new BufferedReader( -// new FileReader("donnees.txt"))) { -// String s; -// StringBuilder sb = new StringBuilder(); -// while ((s = in.readLine()) != null) { -// sb.append(s); -// sb.append("\n"); -// } -// System.out.println(sb); -// } catch (IOException e) { -//// Gestion erreur -// }public record Personne (String nom, int age) implements Serializable {} -//// dans le code -// VehiculeTheque vehiculeTheque = new VehiculeTheque(); -// -// try ( -// ObjectOutputStream out = new ObjectOutputStream( -// new FileOutputStream("data.ser"))) { -// out.writeObject(vehiculeTheque); -// } catch (IOException e;) { -// // Gestion erreur -// } -//} +public class Serialiser { + public void serialiserWriteBin(){ + Voiture john = new Voiture("hello", "maPlaque"); + try (ObjectOutputStream out = new ObjectOutputStream( + new FileOutputStream("data.ser"))) { + out.writeObject(john); + } catch (IOException e) { +// Gestion erreur + } + } + public Vehicule serialiserReadBin() { + try (ObjectInputStream in = new ObjectInputStream( + new FileInputStream("data.ser"))) { + return (Vehicule) in.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } +} diff --git a/2A/Java/tp/3_tp/TP3/src/data/Stub.java b/2A/Java/tp/3_tp/TP3/src/data/Stub.java index 0dd766c..286b502 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/Stub.java +++ b/2A/Java/tp/3_tp/TP3/src/data/Stub.java @@ -4,14 +4,18 @@ import models.Vehicule; import models.VehiculeTheque; import models.Voiture; +import java.util.ArrayList; +import java.util.List; + public class Stub { - public static VehiculeTheque Stub(){ - VehiculeTheque vehiculeTheque = new VehiculeTheque(); - vehiculeTheque.ajouterVehicule(new Voiture("Merco", "ABC-123")); - vehiculeTheque.ajouterVehicule(new Voiture("Audi", "XYZ-987")); - vehiculeTheque.ajouterVehicule(new Voiture("Renault", "HIJ-456")); + public List vehiculeList = new ArrayList<>(); + public Stub(){ + vehiculeList.add(new Voiture("Merco", "ABC-123")); + vehiculeList.add(new Voiture("Audi", "XYZ-987")); + vehiculeList.add(new Voiture("Renault", "HIJ-456")); + } - // Retourne la collection de test - return vehiculeTheque; + public List getVehiculeList() { + return this.vehiculeList; } } diff --git a/2A/Java/tp/3_tp/TP3/src/main/Main.java b/2A/Java/tp/3_tp/TP3/src/main/Main.java index 4d9e1df..a060ff9 100644 --- a/2A/Java/tp/3_tp/TP3/src/main/Main.java +++ b/2A/Java/tp/3_tp/TP3/src/main/Main.java @@ -1,20 +1,49 @@ package main; +import data.ExportCSV; +import data.Serialiser; +import data.Stub; import models.Vehicule; import models.VehiculeTheque; import models.Voiture; +import java.util.ArrayList; +import java.util.List; + public class Main { public static void testVehiculeTheque(){ VehiculeTheque vehiculeTheque = new VehiculeTheque(); Vehicule v1 = new Voiture("v1", "111-AB-222"); Vehicule v2 = new Voiture("v2", "333-GH-865"); - vehiculeTheque.ajouterVehicule(v1); - vehiculeTheque.ajouterVehicule(v2); + vehiculeTheque.getLesVehicules().add(v1); + vehiculeTheque.getLesVehicules().add(v2); System.out.println(vehiculeTheque.getLesVehicules().toString()); } + public static void testStub() { + Stub monStub = new Stub(); + List maListe = monStub.getVehiculeList(); + System.out.println(maListe); + } + public static void testSerialiser() { + Serialiser monSerialiser = new Serialiser(); + Vehicule monVehicule; + monSerialiser.serialiserWriteBin(); + monVehicule = monSerialiser.serialiserReadBin(); + System.out.println(monVehicule); + } + + public static void testCSV() { + ExportCSV moncsv = new ExportCSV(); + Voiture maVoiture = new Voiture("monNom", "maPlaque"); + moncsv.csvWriter(maVoiture); + System.out.println(moncsv.csvReader()); + } public static void main(String[] args){ - testVehiculeTheque(); + +// testVehiculeTheque(); +// testStub(); +// testSerialiser(); + testCSV(); } } diff --git a/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java b/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java index 0e4eed0..8a32af5 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java +++ b/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java @@ -1,9 +1,17 @@ package models; -public abstract class Vehicule { +import data.Serialiser; + +import java.io.Serializable; + +public abstract class Vehicule implements Serializable { protected String nom; protected String plaque; + public abstract String getNom(); + + public abstract String getPlaque(); + @Override public String toString() { return "Vehicule{" + diff --git a/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java b/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java index 4da5e68..7dbd419 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java +++ b/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java @@ -11,10 +11,6 @@ public class VehiculeTheque { return this.lesVehicules; } - public void ajouterVehicule(Vehicule v) { - lesVehicules.add(v); - } - @Override public String toString() { return "VehiculeTheque{" + diff --git a/2A/Java/tp/3_tp/TP3/src/models/Voiture.java b/2A/Java/tp/3_tp/TP3/src/models/Voiture.java index b617a3d..eed7f81 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/Voiture.java +++ b/2A/Java/tp/3_tp/TP3/src/models/Voiture.java @@ -7,11 +7,11 @@ public class Voiture extends Vehicule { this.plaque = plaqueV; } - private String getNom() { + public String getNom() { return this.nom; } - private String getPlaque() { + public String getPlaque() { return this.plaque; } diff --git a/2A/Java/tp/4_tp/4_tp.iml b/2A/Java/tp/4_tp/4_tp.iml new file mode 100644 index 0000000..e55f0b0 --- /dev/null +++ b/2A/Java/tp/4_tp/4_tp.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/donnees.csv b/2A/Java/tp/donnees.csv new file mode 100644 index 0000000..3dddb14 --- /dev/null +++ b/2A/Java/tp/donnees.csv @@ -0,0 +1 @@ +monNom; maPlaque diff --git a/2A/Java/tp/out/production/3_tp/data/Deserialiser.class b/2A/Java/tp/out/production/3_tp/data/Deserialiser.class new file mode 100644 index 0000000..8b1716b Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/data/Deserialiser.class differ diff --git a/2A/Java/tp/out/production/3_tp/data/ExportCSV.class b/2A/Java/tp/out/production/3_tp/data/ExportCSV.class new file mode 100644 index 0000000..57d5c46 Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/data/ExportCSV.class differ diff --git a/2A/Java/tp/out/production/3_tp/data/FichierPlat.class b/2A/Java/tp/out/production/3_tp/data/FichierPlat.class new file mode 100644 index 0000000..6122d67 Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/data/FichierPlat.class differ diff --git a/2A/Java/tp/out/production/3_tp/data/Serialiser.class b/2A/Java/tp/out/production/3_tp/data/Serialiser.class new file mode 100644 index 0000000..b1aeffc Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/data/Serialiser.class differ diff --git a/2A/Java/tp/out/production/3_tp/data/Stub.class b/2A/Java/tp/out/production/3_tp/data/Stub.class new file mode 100644 index 0000000..c36a7dc Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/data/Stub.class differ diff --git a/2A/Java/tp/out/production/3_tp/main/Main.class b/2A/Java/tp/out/production/3_tp/main/Main.class new file mode 100644 index 0000000..da2a85c Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/main/Main.class differ diff --git a/2A/Java/tp/out/production/3_tp/models/Vehicule.class b/2A/Java/tp/out/production/3_tp/models/Vehicule.class new file mode 100644 index 0000000..27db518 Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/models/Vehicule.class differ diff --git a/2A/Java/tp/out/production/3_tp/models/VehiculeTheque.class b/2A/Java/tp/out/production/3_tp/models/VehiculeTheque.class new file mode 100644 index 0000000..b9bdaa0 Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/models/VehiculeTheque.class differ diff --git a/2A/Java/tp/out/production/3_tp/models/Voiture.class b/2A/Java/tp/out/production/3_tp/models/Voiture.class new file mode 100644 index 0000000..b80895a Binary files /dev/null and b/2A/Java/tp/out/production/3_tp/models/Voiture.class differ diff --git a/2A/Java/tp/tp.zip b/2A/Java/tp/tp.zip new file mode 100644 index 0000000..6d4d945 Binary files /dev/null and b/2A/Java/tp/tp.zip differ diff --git a/2A/Java/tp/tp1-intro/.idea/.gitignore b/2A/Java/tp/tp1-intro/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp1-intro/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp1-intro/.idea/misc.xml b/2A/Java/tp/tp1-intro/.idea/misc.xml deleted file mode 100644 index 0c94973..0000000 --- a/2A/Java/tp/tp1-intro/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/.idea/modules.xml b/2A/Java/tp/tp1-intro/.idea/modules.xml deleted file mode 100644 index c341d1f..0000000 --- a/2A/Java/tp/tp1-intro/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml b/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class deleted file mode 100644 index a2aaa60..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/Action.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/Action.class deleted file mode 100644 index 1319b49..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/Action.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface$1.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface$1.class deleted file mode 100644 index e4d3a1b..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface$1.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.class deleted file mode 100644 index 055f0a4..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Afficheur.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Afficheur.class deleted file mode 100644 index c227260..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Afficheur.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.class deleted file mode 100644 index 9c4d06f..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class deleted file mode 100644 index 2590f52..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.class deleted file mode 100644 index 58565c7..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class deleted file mode 100644 index 5f238c1..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Repertoire.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Repertoire.class deleted file mode 100644 index 735f523..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Repertoire.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class deleted file mode 100644 index b30bac0..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class deleted file mode 100644 index 09e721b..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class deleted file mode 100644 index 2063557..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class deleted file mode 100644 index 5dd48c4..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class deleted file mode 100644 index 8d72667..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.class deleted file mode 100644 index c5d7c76..0000000 Binary files a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp1-intro/repertoire.txt b/2A/Java/tp/tp1-intro/repertoire.txt deleted file mode 100644 index 23c98b0..0000000 --- a/2A/Java/tp/tp1-intro/repertoire.txt +++ /dev/null @@ -1,2 +0,0 @@ -Machin Truc -Bidule Machin diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java deleted file mode 100644 index 8d3dded..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp1; - -import fr.uca.iut.clfreville2.tp1.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp1.io.AfficheurConsole; -import fr.uca.iut.clfreville2.tp1.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; -import fr.uca.iut.clfreville2.tp1.persistance.FilePersistance; -import fr.uca.iut.clfreville2.tp1.persistance.StubLoaderPersistance; - -public final class Main { - - public static void main(String[] args) { - new CommandLineInterface( - new StubLoaderPersistance(), - new FilePersistance(), - new Repertoire(), - new AfficheurConsole(), - new SaisisseurConsole() - ).execute(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java deleted file mode 100644 index f0382d1..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.cli; - -import java.util.Arrays; - -public enum Action { - AJOUTER_PATIENT('a'), - EDITER_PATIENT('e'), - LISTER_PATIENTS('l'), - SUPPRIMER_PATIENT('s'), - QUITTER('q'); - - private final char identificateur; - - Action(char identificateur) { - this.identificateur = identificateur; - } - - public static Action fromIdentificateur(char c) { - return Arrays.stream(values()).filter(a -> a.identificateur == c).findFirst().orElse(null); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java deleted file mode 100644 index d5c1ba6..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java +++ /dev/null @@ -1,80 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.cli; - -import fr.uca.iut.clfreville2.tp1.io.Afficheur; -import fr.uca.iut.clfreville2.tp1.io.Saisisseur; -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; -import fr.uca.iut.clfreville2.tp1.persistance.LoaderPersistance; -import fr.uca.iut.clfreville2.tp1.persistance.WriterPersistance; - -public final class CommandLineInterface { - - private final Repertoire repertoire; - private final Afficheur afficheur; - private final Saisisseur saisisseur; - private final LoaderPersistance loaderPersistance; - private final WriterPersistance writerPersistance; - - public CommandLineInterface(LoaderPersistance loaderPersistance, WriterPersistance writerPersistance, Repertoire repertoire, Afficheur afficheur, Saisisseur saisisseur) { - this.repertoire = repertoire; - this.afficheur = afficheur; - this.saisisseur = saisisseur; - this.loaderPersistance = loaderPersistance; - this.writerPersistance = writerPersistance; - } - - /** - * Exécute l'application en ligne de commande. - */ - public void execute() { - loaderPersistance.lire(repertoire); - afficheur.afficherIntroduction(); - afficheur.afficherDemande("l'action à effectuer"); - Action action; - while ((action = saisisseur.demanderAction()) != Action.QUITTER) { - if (action == null) { - afficheur.afficherErreur("Action inconnue !"); - continue; - } - switch (action) { - case AJOUTER_PATIENT -> gererAjoutPatient(); - case EDITER_PATIENT -> gererModificationPatient(); - case LISTER_PATIENTS -> afficheur.afficherPatients(repertoire); - case SUPPRIMER_PATIENT -> gererSuppressionPatient(); - } - } - writerPersistance.ecrire(repertoire); - } - - private void gererAjoutPatient() { - Patient patient = demanderInfosPatient(); - repertoire.referencerPatient(patient.prenom(), patient.nom()); - afficheur.afficherSucces("Le patient a bien été rajouté."); - } - - private void gererSuppressionPatient() { - Patient patient = demanderInfosPatient(); - if (repertoire.dereferencerPatient(patient.prenom(), patient.nom())) { - afficheur.afficherSucces("Le patient a bien été supprimé."); - } else { - afficheur.afficherErreur("Le patient n'existe pas et ne peut pas être supprimé."); - } - } - - private void gererModificationPatient() { - Patient patient = demanderInfosPatient(); - if (!repertoire.dereferencerPatient(patient.prenom(), patient.nom())) { - afficheur.afficherErreur("Le patient n'existe pas et ne peut pas être édité."); - return; - } - gererAjoutPatient(); - } - - private Patient demanderInfosPatient() { - afficheur.afficherDemande("le prénom du patient"); - String prenom = saisisseur.demandeMot(); - afficheur.afficherDemande("le nom du patient"); - String nom = saisisseur.demandeMot(); - return new Patient(prenom, nom); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java deleted file mode 100644 index 28b1ace..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java +++ /dev/null @@ -1,56 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Affiche des informations à l'écran. - *

- * Son implémentation principale est {@link AfficheurConsole}. - */ -public interface Afficheur { - - /** - * Affiche le texte présentant les actions réalisables par l'utilisateur. - */ - void afficherIntroduction(); - - /** - * Affiche les informations d'un unique patient. - * - * @param patient Le patient à afficher. - */ - void afficherPatient(Patient patient); - - /** - * Affiche la liste des patients contenus dans un répertoire. - *

- * Par défaut, affiche un à un les patients. - * - * @param repertoire Le répertoire à utiliser. - */ - default void afficherPatients(Repertoire repertoire) { - repertoire.getPatients().forEach(this::afficherPatient); - } - - /** - * Préparer le texte de demande d'une information à l'utilisateur. - * - * @param objet L'objet de la demande. - */ - void afficherDemande(String objet); - - /** - * Affiche un message de succès. - * - * @param message Le message de succès. - */ - void afficherSucces(String message); - - /** - * Affiche un message d'erreur. - * - * @param message Le message d'erreur. - */ - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java deleted file mode 100644 index bc1d327..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java +++ /dev/null @@ -1,50 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -public class AfficheurConsole implements Afficheur { - - private static final String DESCRIPTION_MENU = """ - Système de gestion des patients 3000 - ==================================== - a : Ajouter un nouveau patient - l : Lister les patients - s : Supprimer un patient - q : Quitter - """; - - @Override - public void afficherIntroduction() { - System.out.print(DESCRIPTION_MENU); - } - - @Override - public void afficherPatient(Patient patient) { - System.out.println(patient.designation()); - } - - @Override - public void afficherPatients(Repertoire repertoire) { - if (repertoire.getPatients().isEmpty()) { - System.out.println("Répertoire vide !"); - } else { - Afficheur.super.afficherPatients(repertoire); - } - } - - @Override - public void afficherDemande(String objet) { - System.out.println("Veuillez saisir " + objet + " : "); - } - - @Override - public void afficherSucces(String message) { - System.out.println(message); - } - - @Override - public void afficherErreur(String message) { - System.err.println(message); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java deleted file mode 100644 index 199bfba..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.cli.Action; - -public interface Saisisseur { - - String demandeMot(); - - Action demanderAction(); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java deleted file mode 100644 index 17c9e89..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java +++ /dev/null @@ -1,42 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.cli.Action; - -import java.io.InputStream; -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - - public SaisisseurConsole() { - this(System.in); - } - - public SaisisseurConsole(InputStream stream) { - scanner = new Scanner(stream); - } - - public SaisisseurConsole(Reader reader) { - scanner = new Scanner(reader); - } - - @Override - public String demandeMot() { - return scanner.next(); - } - - @Override - public Action demanderAction() { - return switch (scanner.next()) { - case "a" -> Action.AJOUTER_PATIENT; - case "e" -> Action.EDITER_PATIENT; - case "l" -> Action.LISTER_PATIENTS; - case "s" -> Action.SUPPRIMER_PATIENT; - case "q" -> Action.QUITTER; - default -> null; - }; - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java deleted file mode 100644 index 154ce2b..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.model; - -// Pour les curieux, un record est une classe finale qui contient déjà une redéfinition de equals() et hashCode() -public record Patient(String prenom, String nom) { - - public String designation() { - return prenom + " " + nom.toUpperCase(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java deleted file mode 100644 index 368db48..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.model; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -/** - * Le répertoire possède toutes les informations de contact des patients. - */ -public class Repertoire implements Iterable { - - private final List patients = new ArrayList<>(); - - public void referencerPatient(String prenom, String nom) { - patients.add(new Patient(prenom, nom)); - } - - public boolean dereferencerPatient(String prenom, String nom) { - return patients.remove(new Patient(prenom, nom)); - } - - /** - * Récupère l'ensemble des patients répertoriés. - * - * @return Une vue immuable sur les patients. - */ - public List getPatients() { - return Collections.unmodifiableList(patients); - } - - @Override - public Iterator iterator() { - return getPatients().iterator(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java deleted file mode 100644 index 1d32d37..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.io.Saisisseur; -import fr.uca.iut.clfreville2.tp1.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -import java.io.*; - -/** - * Une persistance écrivant et lisant un fichier. - */ -public class FilePersistance implements Persistance { - - private final String fileName; - - public FilePersistance() { - this("repertoire.txt"); - } - - public FilePersistance(String fileName) { - this.fileName = fileName; - } - - @Override - public void lire(Repertoire repertoire) { - try (Reader lecteur = new FileReader(fileName)) { - Saisisseur saisisseur = new SaisisseurConsole(lecteur); - repertoire.referencerPatient(saisisseur.demandeMot(), saisisseur.demandeMot()); - } catch (FileNotFoundException ignored) { - } catch (IOException ex) { - throw new RuntimeException(ex); - } - } - - @Override - public void ecrire(Repertoire repertoire) { - try (Writer ecrivain = new FileWriter(fileName)) { - for (Patient patient : repertoire.getPatients()) { - ecrivain.append(patient.nom()).append(" ").append(patient.prenom()).append("\n"); - } - } catch (IOException ex) { - throw new RuntimeException(ex); - } - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java deleted file mode 100644 index aaf180f..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Quelque chose capable de lire des données depuis quelque part et de les référencer dans un répertoire. - */ -public interface LoaderPersistance { - - void lire(Repertoire repertoire); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java deleted file mode 100644 index d945d41..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -@SuppressWarnings("unused") // oui, mieux vaut ne pas l'utiliser de toute façon -public class NoopWriterPersistance implements WriterPersistance { - @Override - public void ecrire(Repertoire repertoire) { - // noop - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java deleted file mode 100644 index 66e77f9..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -/** - * Un groupe de persistance pouvant être à la fois chargée et sauvegardée. - */ -public interface Persistance extends LoaderPersistance, WriterPersistance { -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java deleted file mode 100644 index 5cc5d9d..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -public final class StubLoaderPersistance implements LoaderPersistance { - - @Override - public void lire(Repertoire repertoire) { - repertoire.referencerPatient("Truc", "Machin"); - repertoire.referencerPatient("Machin", "Bidule"); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java deleted file mode 100644 index 17beb04..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Quelque chose capable d'écrire quelque part un répertoire de patients. - */ -public interface WriterPersistance { - - void ecrire(Repertoire repertoire); -} diff --git a/2A/Java/tp/tp2-zoo/.idea/.gitignore b/2A/Java/tp/tp2-zoo/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp2-zoo/.idea/misc.xml b/2A/Java/tp/tp2-zoo/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/.idea/modules.xml b/2A/Java/tp/tp2-zoo/.idea/modules.xml deleted file mode 100644 index cce7859..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml b/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/animalerie.txt b/2A/Java/tp/tp2-zoo/animalerie.txt deleted file mode 100644 index e716a30..0000000 --- a/2A/Java/tp/tp2-zoo/animalerie.txt +++ /dev/null @@ -1 +0,0 @@ -ours bidule 9 oiseau machin SUD 5 --end-- \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class deleted file mode 100644 index 9fea7da..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.class deleted file mode 100644 index 6fff573..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class deleted file mode 100644 index 1f39de0..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry$Builder.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry$Builder.class deleted file mode 100644 index 4da6a07..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry$Builder.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class deleted file mode 100644 index b3b3057..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class deleted file mode 100644 index 72cb4c2..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl$ThisBuilder.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl$ThisBuilder.class deleted file mode 100644 index 62c1135..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl$ThisBuilder.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class deleted file mode 100644 index ee0145c..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class deleted file mode 100644 index c750812..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.class deleted file mode 100644 index f00610e..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$AnimalSupplier.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$AnimalSupplier.class deleted file mode 100644 index de76000..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$AnimalSupplier.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class deleted file mode 100644 index cd93953..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.class deleted file mode 100644 index 5b7a880..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl$ThisBuilder.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl$ThisBuilder.class deleted file mode 100644 index d02ead7..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl$ThisBuilder.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class deleted file mode 100644 index e9846a1..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class deleted file mode 100644 index 22ac1b0..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.class deleted file mode 100644 index c862188..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class deleted file mode 100644 index d7b456b..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class deleted file mode 100644 index 5cfdc97..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class deleted file mode 100644 index a7772e6..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class deleted file mode 100644 index 7c22e42..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class deleted file mode 100644 index eb03b22..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Climat.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Climat.class deleted file mode 100644 index f285d54..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Climat.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class deleted file mode 100644 index ea00165..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Lieu.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Lieu.class deleted file mode 100644 index 025e7d8..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Lieu.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class deleted file mode 100644 index e2f9703..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.class deleted file mode 100644 index e4fcbea..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.class deleted file mode 100644 index ec95cb4..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class deleted file mode 100644 index b5df87a..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.class deleted file mode 100644 index 6bbcca1..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class deleted file mode 100644 index 13aaa23..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class deleted file mode 100644 index 20c7c29..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class deleted file mode 100644 index 3b25fe5..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class deleted file mode 100644 index 1e63e2e..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class deleted file mode 100644 index 4b1a222..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.class deleted file mode 100644 index f8495d0..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class deleted file mode 100644 index d3675d1..0000000 Binary files a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java deleted file mode 100644 index 0d27a1a..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.uca.iut.clfreville2.tp2; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.io.*; -import fr.uca.iut.clfreville2.tp2.persistance.FileReaderPersistance; -import fr.uca.iut.clfreville2.tp2.persistance.FileWriterPersistance; - -public final class Main { - - private Main() {} - - public static void main(String[] args) { - Afficheur afficheur = new AfficheurConsole(); - Saisisseur saisisseur = new SaisisseurConsole(); - new CommandLineInterface(afficheur, saisisseur, CommandLineInterface.commandes(), AnimalFromUserInputFactory.create(), new FileReaderPersistance(), new FileWriterPersistance()).executer(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java deleted file mode 100644 index 57120d9..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java +++ /dev/null @@ -1,89 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli; - -import fr.uca.iut.clfreville2.tp2.cli.cmd.AjouterCommande; -import fr.uca.iut.clfreville2.tp2.cli.cmd.CommandRegistry; -import fr.uca.iut.clfreville2.tp2.cli.cmd.ListerCommande; -import fr.uca.iut.clfreville2.tp2.cli.cmd.PasserCommande; -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.persistance.ReadPersistance; -import fr.uca.iut.clfreville2.tp2.persistance.WritePersistance; - -/** - * Une interface en ligne de commande. - */ -public final class CommandLineInterface { - - private final Afficheur afficheur; - private final Saisisseur saisisseur; - private final CommandRegistry commandes; - private final Animalerie animalerie; - private final AnimalFactory animalFactory; - private final ReadPersistance readPersistance; - private final WritePersistance writePersistance; - private boolean quitter; - - public CommandLineInterface(Afficheur afficheur, Saisisseur saisisseur, CommandRegistry commandes, AnimalFactory animalFactory, ReadPersistance readPersistance, WritePersistance writePersistance) { - this.afficheur = afficheur; - this.saisisseur = saisisseur; - this.commandes = commandes; - this.animalerie = new Animalerie(); - this.animalFactory = animalFactory; - this.readPersistance = readPersistance; - this.writePersistance = writePersistance; - } - - /** - * Réalise la boucle principale de l'application. - */ - public void executer() { - readPersistance.lire(animalerie, animalFactory); - while (!quitter) { - commandes.rechercher(saisisseur.lireMot()) - .ifPresentOrElse( - cmd -> cmd.run(this), - () -> afficheur.afficherErreur("Action invalide") - ); - } - writePersistance.ecrire(animalerie, animalFactory); - } - - public Animalerie getAnimalerie() { - return animalerie; - } - - public Afficheur getAfficheur() { - return afficheur; - } - - public Saisisseur getSaisisseur() { - return saisisseur; - } - - public AnimalFactory getAnimalFactory() { - return animalFactory; - } - - /** - * Prépare l'arrêt de l'application. - */ - public void stopper() { - quitter = true; - } - - /** - * Créé le registre des commandes. - * - * @return Un registre complété avec des actions courantes. - */ - public static CommandRegistry commandes() { - CommandRegistry.Builder builder = CommandRegistry.builder(); - builder.enregistrer("quitter", CommandLineInterface::stopper); - builder.enregistrer(ListerCommande.NOM, new ListerCommande()); - builder.enregistrer(AjouterCommande.NOM, new AjouterCommande()); - builder.enregistrer(PasserCommande.NOM, new PasserCommande()); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java deleted file mode 100644 index bb355f1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -public class AjouterCommande implements Commande { - - public static final String NOM = "ajouter"; - - @Override - public void run(CommandLineInterface cli) { - cli.getAfficheur().afficher("Quel genre d'animal ?"); - String genre = cli.getSaisisseur().lireMot(); - cli.getAfficheur().afficher("Quel est son nom ?"); - Animal animal = cli.getAnimalFactory().creer(genre, cli.getSaisisseur().lireMot(), cli.getAfficheur(), cli.getSaisisseur()); - cli.getAnimalerie().ajouter(animal); - cli.getAfficheur().afficher("Animal rajouté !"); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java deleted file mode 100644 index b3493b6..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import java.util.Optional; - -public interface CommandRegistry { - - Optional rechercher(String nom); - - static Builder builder() { - return new CommandeRegistryImpl.ThisBuilder(); - } - - interface Builder { - - void enregistrer(String nom, Commande commande); - - CommandRegistry construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java deleted file mode 100644 index e60f884..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; - -/** - * Une action réalisable depuis l'interface en ligne de commande. - */ -@FunctionalInterface -public interface Commande { - - /** - * Exécute l'action dans le contexte de la ligne de commande. - * - * @param cli Contexte d'exécution. - */ - void run(CommandLineInterface cli); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java deleted file mode 100644 index 7e57a84..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -class CommandeRegistryImpl implements CommandRegistry { - - private final Map commandes; - - private CommandeRegistryImpl(Map commandes) { - this.commandes = commandes; - } - - @Override - public Optional rechercher(String nom) { - return Optional.ofNullable(commandes.get(nom)); - } - - static class ThisBuilder implements Builder { - - private final Map commandes = new HashMap<>(); - - @Override - public void enregistrer(String nom, Commande commande) { - commandes.put(nom, commande); - } - - @Override - public CommandRegistry construire() { - return new CommandeRegistryImpl(commandes); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java deleted file mode 100644 index a219c5d..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -public class ListerCommande implements Commande { - - public static final String NOM = "lister"; - - @Override - public void run(CommandLineInterface cli) { - if (cli.getAnimalerie().estVide()) { - cli.getAfficheur().afficher("Aucun animal"); - } - for (Animal animal : cli.getAnimalerie()) { - cli.getAfficheur().afficher(animal.getPresentation()); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java deleted file mode 100644 index 4b74c26..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -import java.util.Arrays; -import java.util.stream.Collectors; - -public class PasserCommande implements Commande { - - public static final String NOM = "passer"; - - @Override - public void run(CommandLineInterface cli) { - cli.getAfficheur().afficher("Quelle saison climatique (" + Arrays.stream(Climat.values()).map(Climat::name).collect(Collectors.joining("/")) + ") ?"); - Climat climat = cli.getSaisisseur().lireClimat(); - cli.getAnimalerie().passer(climat); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java deleted file mode 100644 index a560f7e..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java +++ /dev/null @@ -1,84 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.factory; - -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -/** - * Construit un animal d'après son genre. - * - * @implNote Implémentation principale {@link AnimalFactoryImpl}. - */ -public interface AnimalFactory { - - /** - * Construit un animal d'après son genre et son nom. - *

- * La factory peut éventuellement utiliser un afficheur et un saisisseur, voir les détails d'implémentations si nécessaire. - * - * @throws IllegalArgumentException Si le genre est inconnu. - */ - Animal creer(String genre, String nom, Afficheur afficheur, Saisisseur saisisseur); - - /** - * Associe à un animal son genre, utilisable pour créer une nouvelle instance du même type. - * - * @param animal L'animal pour lequel rechercher le genre. - * @return Le type de l'animal. - * @throws IllegalArgumentException Si le genre est inconnu. - */ - String trouverGenre(Animal animal); - - /** - * Créé un concepteur vide pour cette factory. - * - * @return Un concepteur vide. - */ - static AnimalFactory.Builder builder() { - return new AnimalFactoryImpl.ThisBuilder(); - } - - /** - * Un concepteur de {@link AnimalFactory}. - *

- * Une factory est d'abord construite pour un certain nombre d'animaux et est ensuite figée. - */ - interface Builder { - - /** - * Enregistre une façon d'obtenir un animal d'un certain type d'après un genre. - * - * @param genre Le genre (s'il existe déjà, alors la précédente valeur est remplacée). - * @param animalSupplier Le moyen d'obtenir cet animal. - * @param animalType Le type qui sera instancié de l'animal. - * @param Le type de l'animal. - */ - void enregistrer(String genre, AnimalSupplier animalSupplier, Class animalType); - - /** - * Fige le concepteur et créé la factory. - * - * @return Une nouvelle factory. - */ - AnimalFactory construire(); - } - - /** - * Un moyen d'obtenir un animal. - * - * @param Le type final (donc celui qui sera instancié) de l'animal. - */ - @FunctionalInterface - interface AnimalSupplier { - - /** - * Créé l'animal. - * - * @param nom Le nom à attribuer à cet animal. - * @param afficheur L'afficheur à potentiellement utiliser. - * @param saisisseur Le saisisseur à potentiellement utiliser. - * @return Un nouvel animal. - */ - T create(String nom, Afficheur afficheur, Saisisseur saisisseur); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java deleted file mode 100644 index 7fabe14..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.factory; - -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -import java.util.HashMap; -import java.util.Map; - -class AnimalFactoryImpl implements AnimalFactory { - - private final Map> createur; - private final Map, String> decomposeur; - - private AnimalFactoryImpl(Map> createur, Map, String> decomposeur) { - this.createur = new HashMap<>(createur); - this.decomposeur = new HashMap<>(decomposeur); - } - - @Override - public Animal creer(String genre, String nom, Afficheur afficheur, Saisisseur saisisseur) { - return createur.getOrDefault(genre, (a, b, c) -> { - throw new IllegalArgumentException("Genre d'animal inconnu"); - }).create(nom, afficheur, saisisseur); - } - - @Override - public String trouverGenre(Animal animal) { - String name = decomposeur.get(animal.getClass()); - if (name == null) { - throw new IllegalArgumentException("Genre d'animal inconnu"); - } - return name; - } - - static class ThisBuilder implements AnimalFactory.Builder { - - private final Map> createur = new HashMap<>(); - private final Map, String> decomposeur = new HashMap<>(); - - @Override - public void enregistrer(String genre, AnimalSupplier animalSupplier, Class animalType) { - createur.put(genre, animalSupplier); - decomposeur.put(animalType, genre); - } - - @Override - public AnimalFactory construire() { - return new AnimalFactoryImpl(createur, decomposeur); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java deleted file mode 100644 index e7452d1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -/** - * Quelque chose qui permet de présenter des informations à l'utilisateur. - */ -public interface Afficheur { - - void afficher(String message); - - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java deleted file mode 100644 index 13582dd..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import java.io.PrintStream; - -public class AfficheurConsole implements Afficheur { - - private final PrintStream fluxStandard = System.out; - private final PrintStream fluxErreur = System.err; - - @Override - public void afficher(String message) { - fluxStandard.println(message); - } - - @Override - public void afficherErreur(String message) { - fluxErreur.println(message); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java deleted file mode 100644 index aefcee9..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; -import fr.uca.iut.clfreville2.tp2.modele.impl.Ours; - -/** - * Fournit une pré-selection d'animaux pour créer une {@link AnimalFactory}. - */ -public final class AnimalFromUserInputFactory { - - private AnimalFromUserInputFactory() {} - - public static AnimalFactory create() { - AnimalFactory.Builder builder = AnimalFactory.builder(); - builder.enregistrer("ours", (nom, afficheur, saisisseur) -> { - afficheur.afficher("Combien de poils ?"); - return new Ours(nom, saisisseur.lireInt()); - }, Ours.class); - builder.enregistrer("oiseau", (nom, afficheur, saisisseur) -> { - afficheur.afficher("Quel lieu actuel ?"); - Lieu lieu = saisisseur.lireLieu(); - afficheur.afficher("Combien de plumes ?"); - return new Oiseau(nom, lieu, saisisseur.lireInt()); - }, Oiseau.class); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java deleted file mode 100644 index 274baa1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -public class NoopAfficheur implements Afficheur { - @Override - public void afficher(String message) { - - } - - @Override - public void afficherErreur(String message) { - - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java deleted file mode 100644 index 39366f5..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -/** - * Quelque chose qui permet de récupérer des informations. - */ -public interface Saisisseur { - - String lireMot(); - - int lireInt(); - - Climat lireClimat(); - - Lieu lireLieu(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java deleted file mode 100644 index 1bed5d1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java +++ /dev/null @@ -1,44 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - public SaisisseurConsole(Reader reader) { - scanner = new Scanner(reader); - } - - public SaisisseurConsole() { - this.scanner = new Scanner(System.in); - } - - @Override - public String lireMot() { - return scanner.next(); - } - - @Override - public int lireInt() { - return scanner.nextInt(); - } - - @Override - public Climat lireClimat() { - return lireEnum(Climat.class); - } - - @Override - public Lieu lireLieu() { - return lireEnum(Lieu.class); - } - - private > E lireEnum(Class enumClass) { - return Enum.valueOf(enumClass, lireMot()); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java deleted file mode 100644 index 878a506..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -import fr.uca.iut.clfreville2.tp2.modele.comportement.SubitClimat; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class Animalerie implements SubitClimat, Iterable { - - private final List animaux = new ArrayList<>(); - - public List getAnimaux() { - return Collections.unmodifiableList(animaux); - } - - public void ajouter(Animal animal) { - animaux.add(animal); - } - - public boolean estVide() { - return animaux.isEmpty(); - } - - @Override - public void passer(Climat climat) { - animaux.forEach(a -> a.passer(climat)); - } - - @Override - public Iterator iterator() { - return getAnimaux().iterator(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java deleted file mode 100644 index b0266f3..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -public enum Climat { - - ETE, - AUTOMNE, - HIVER, - PRINTEMPS -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java deleted file mode 100644 index c8fba2f..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -import fr.uca.iut.clfreville2.tp2.modele.comportement.SubitClimat; - -public interface EtreVivant extends SubitClimat { - - String getPresentation(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java deleted file mode 100644 index 481b83d..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -public enum Lieu { - - NORD, - SUD -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java deleted file mode 100644 index f640efe..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -public interface CapaciteMotrices { - - void setLieu(Lieu lieu); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java deleted file mode 100644 index dfef44b..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -/** - * Ce qui hiberne pour s'adapter au changement de climat. - */ -public interface Hibernateur extends SubitClimat { - - @Override - default void passer(Climat climat) { - if (climat == Climat.HIVER) { - hiberner(); - } else { - reveiller(); - } - } - - void hiberner(); - - void reveiller(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java deleted file mode 100644 index dc1694b..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -/** - * Ce qui migre pour s'adapter au changement de climat. - */ -public interface Migrateur extends CapaciteMotrices, SubitClimat { - - @Override - default void passer(Climat climat) { - if (climat == Climat.AUTOMNE || climat == Climat.HIVER) { - setLieu(Lieu.SUD); - } else { - setLieu(Lieu.NORD); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java deleted file mode 100644 index 9705d33..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -public interface SubitClimat { - - void passer(Climat climat); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java deleted file mode 100644 index b6d9789..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.EtreVivant; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.CapaciteMotrices; - -/** - * Une base d'animal. - *

- * La classe est scellée pour prévenir de tout héritage supplémentaire. - */ -public sealed abstract class Animal implements EtreVivant, CapaciteMotrices permits Oiseau, Ours { - - private final String nom; - private Lieu lieu; - - public Animal(String nom, Lieu lieu) { - this.nom = nom; - this.lieu = lieu; - } - - public String getNom() { - return nom; - } - - public Lieu getLieu() { - return lieu; - } - - @Override - public void setLieu(Lieu lieu) { - this.lieu = lieu; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java deleted file mode 100644 index fe6171c..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java +++ /dev/null @@ -1,23 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.Migrateur; - -public final class Oiseau extends Animal implements Migrateur { - - private final int nbPlumes; - - public Oiseau(String nom, Lieu lieu, int nbPlumes) { - super(nom, lieu); - this.nbPlumes = nbPlumes; - } - - public int getNbPlumes() { - return nbPlumes; - } - - @Override - public String getPresentation() { - return getNom() + " vole dans la région du " + getLieu().name() + " avec " + nbPlumes + " plumes"; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java deleted file mode 100644 index 79bfa73..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.Hibernateur; - -public final class Ours extends Animal implements Hibernateur { - - private final int nbPoils; - private boolean hiberne; - - public Ours(String nom, int nbPoils) { - super(nom, Lieu.NORD); - this.nbPoils = nbPoils; - } - - @Override - public String getPresentation() { - return getNom() + (hiberne ? " hiberne " : " pêche ") + "et a " + nbPoils + " poils."; - } - - public int getNbPoils() { - return nbPoils; - } - - @Override - public void hiberner() { - this.hiberne = true; - } - - @Override - public void reveiller() { - this.hiberne = false; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java deleted file mode 100644 index 4a82385..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.NoopAfficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.io.Reader; - -public class FileReaderPersistance implements ReadPersistance { - - private final String filename; - - public FileReaderPersistance(String filename) { - this.filename = filename; - } - - public FileReaderPersistance() { - this("animalerie.txt"); - } - - @Override - public void lire(Animalerie animalerie, AnimalFactory factory) { - try (Reader reader = new FileReader(filename)) { - // Plutôt que d'implémenter une nouvelle factory pour créer les animaux, - // je réutilise la factory existante en masquant tous les messages affichés. - Afficheur afficheur = new NoopAfficheur(); - Saisisseur saisisseur = new SaisisseurConsole(reader); - String genre; - while (!(genre = saisisseur.lireMot()).equals("--end--")) { - String nom = saisisseur.lireMot(); - Animal animal = factory.creer(genre, nom, afficheur, saisisseur); - animalerie.ajouter(animal); - } - } catch (FileNotFoundException ignored) { - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java deleted file mode 100644 index ec4d64e..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; -import fr.uca.iut.clfreville2.tp2.modele.impl.Ours; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.Writer; - -/** - * Une persistance écrivant dans un fichier. - */ -public class FileWriterPersistance implements WritePersistance { - - private final String filename; - - public FileWriterPersistance(String filename) { - this.filename = filename; - } - - public FileWriterPersistance() { - this("animalerie.txt"); - } - - @Override - public void ecrire(Animalerie animalerie, AnimalFactory factory) { - try (Writer writer = new FileWriter(filename)) { - for (Animal animal : animalerie) { - // Écrit l'information du type instancié de l'animal - writer.write(factory.trouverGenre(animal)); - writer.write(' '); - - // Écrit les informations généralistes de l'animal - writer.write(animal.getNom()); - writer.write(' '); - - // Pour écrire les informations spécifiques à un animal, il va falloir instanceof pour récupérer le type instancié - // Plutôt qu'un enchaînement de conditions, j'utilise ici la feature preview Java 17 du pattern matching pour les switch - switch (animal) { - case Oiseau oiseau -> { - writer.write(oiseau.getLieu().name()); - writer.write(' '); - writer.write(Integer.toString(oiseau.getNbPlumes())); - } - case Ours ours -> writer.write(Integer.toString(ours.getNbPoils())); - } - writer.write(' '); - } - writer.write("--end--"); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java deleted file mode 100644 index 2c2e3ea..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -/** - * Quelque chose qui permet de lire des données persistées. - */ -public interface ReadPersistance { - - void lire(Animalerie animalerie, AnimalFactory factory); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java deleted file mode 100644 index a7327f4..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; - -public class StubReadPersistance implements ReadPersistance { - @Override - public void lire(Animalerie animalerie, AnimalFactory factory) { - animalerie.ajouter(new Oiseau("pivert", Lieu.NORD, 5)); - animalerie.ajouter(new Oiseau("colibri", Lieu.NORD, 4)); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java deleted file mode 100644 index 6af97b0..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -/** - * Quelque chose qui permet d'écrire une animalerie pour la persister. - */ -public interface WritePersistance { - - void ecrire(Animalerie animalerie, AnimalFactory factory); -} diff --git a/2A/Java/tp/tp3-vehicules/.idea/.gitignore b/2A/Java/tp/tp3-vehicules/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp3-vehicules/.idea/misc.xml b/2A/Java/tp/tp3-vehicules/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/.idea/modules.xml b/2A/Java/tp/tp3-vehicules/.idea/modules.xml deleted file mode 100644 index 38d3733..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml b/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/garage.bin b/2A/Java/tp/tp3-vehicules/garage.bin deleted file mode 100644 index 294a6e2..0000000 Binary files a/2A/Java/tp/tp3-vehicules/garage.bin and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/garage.txt b/2A/Java/tp/tp3-vehicules/garage.txt deleted file mode 100644 index 725d0e7..0000000 --- a/2A/Java/tp/tp3-vehicules/garage.txt +++ /dev/null @@ -1,3 +0,0 @@ -camion 9 -voiture 4 -camionnette diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class deleted file mode 100644 index 2697c38..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.class deleted file mode 100644 index 1c4fadc..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class deleted file mode 100644 index dac569f..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class deleted file mode 100644 index 4c30049..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class deleted file mode 100644 index 22b645c..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.class deleted file mode 100644 index 62a594e..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Builder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Builder.class deleted file mode 100644 index 805c4b0..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Builder.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class deleted file mode 100644 index 810a0e2..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.class deleted file mode 100644 index d6f7d74..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class deleted file mode 100644 index 4de982d..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class deleted file mode 100644 index a59ef4b..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class deleted file mode 100644 index b379574..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class deleted file mode 100644 index 8e36c77..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.class deleted file mode 100644 index 3329895..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class deleted file mode 100644 index b700f7d..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class deleted file mode 100644 index d25accd..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class deleted file mode 100644 index 901020a..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class deleted file mode 100644 index f0018d2..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camionnette.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camionnette.class deleted file mode 100644 index bfae8ab..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camionnette.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Garage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Garage.class deleted file mode 100644 index a0ec7f2..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Garage.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class deleted file mode 100644 index 8f6de82..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class deleted file mode 100644 index f1835fe..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.class deleted file mode 100644 index 4b5de87..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class deleted file mode 100644 index 075edc1..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class deleted file mode 100644 index dae1a65..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.class deleted file mode 100644 index 1dd45ef..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class deleted file mode 100644 index 2b8826a..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.class deleted file mode 100644 index ed4a345..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class deleted file mode 100644 index f93d033..0000000 Binary files a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class and /dev/null differ diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java deleted file mode 100644 index 489cae8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java +++ /dev/null @@ -1,71 +0,0 @@ -package fr.uca.iut.clfreville2.tp3; - -import fr.uca.iut.clfreville2.tp3.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp3.factory.ActionFactory; -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.AfficheurConsole; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Camionnette; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; -import fr.uca.iut.clfreville2.tp3.persistance.*; - -public final class Main { - - public static void main(String[] args) { - Afficheur afficheur = new AfficheurConsole(); - - var chargeurs = chargeurs(); - if (args.length < 2 || args[0].equals("help")) { - afficheur.afficher("Choisissez votre cocktail: "); - afficheur.afficher("Chargeurs disponibles : " + String.join(", ", chargeurs.actions())); // Idem pour les sauveurs, mais le switch est beau - return; - } - - ChargeurGarage chargeur = chargeur(args[0], chargeurs, afficheur); - SauveurGarage sauveur = sauveur(args[1], afficheur); - new CommandLineInterface(chargeur, sauveur, factory()).executer(); - } - - private static ChargeurGarage chargeur(String choix, ActionFactory factory, Afficheur afficheur) { - try { - return factory.create(choix); - } catch (IllegalArgumentException ex) { - afficheur.afficherErreur("Choix inconnu !"); - System.exit(1); - } - return null; - } - - private static SauveurGarage sauveur(String choix, Afficheur afficheur) { - return switch (choix) { - case "noop" -> new NoopSauveurGarage(); - case "texte" -> new TextFileGaragePersistance(); - case "binaire" -> new BinaryFilePersistance(); - case "tsv" -> new TsvFilePersistance(); - default -> { - afficheur.afficherErreur("Choix inconnu !"); - System.exit(1); - yield null; - } - }; - } - - private static VehiculeFactory factory() { - var builder = VehiculeFactory.builder(); - builder.referencer("camion", (ctx) -> new Camion(ctx.getSaisisseur().demanderInt()), Camion.class); - builder.referencer("camionnette", (ctx) -> new Camionnette(), Camionnette.class); - builder.referencer("voiture", (ctx) -> new Voiture(ctx.getSaisisseur().demanderInt()), Voiture.class); - return builder.construire(); - } - - - private static ActionFactory chargeurs() { - ActionFactory.Builder builder = ActionFactory.builder(); - builder.enregistrer("stub", StubChargeurGarage::new); - builder.enregistrer("texte", TextFileGaragePersistance::new); - builder.enregistrer("tsv", TsvFilePersistance::new); - builder.enregistrer("binaire", BinaryFilePersistance::new); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java deleted file mode 100644 index ca1fe1c..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java +++ /dev/null @@ -1,35 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.cli; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.persistance.ChargeurGarage; -import fr.uca.iut.clfreville2.tp3.persistance.SauveurGarage; - -public final class CommandLineInterface { - - private final ChargeurGarage chargeur; - private final SauveurGarage sauveur; - private final VehiculeFactory factory; - - public CommandLineInterface(ChargeurGarage chargeur, SauveurGarage sauveur, VehiculeFactory factory) { - this.chargeur = chargeur; - this.sauveur = sauveur; - this.factory = factory; - } - - public void executer() { - Garage garage = new Garage(); - try { - chargeur.charger(garage, factory); - } catch (java.io.IOException e) { - throw new RuntimeException(e); - } - /*while (true) { - }*/ - try { - sauveur.sauver(garage, factory); - } catch (java.io.IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java deleted file mode 100644 index 2db8d5e..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import java.util.Set; -import java.util.function.Supplier; - -public interface ActionFactory { - - T create(String type); - - Set actions(); - - static Builder builder() { - return new ActionFactoryImpl.ThisBuilder<>(); - } - - interface Builder { - - void enregistrer(String type, Supplier supplier); - - ActionFactory construire(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java deleted file mode 100644 index 8fbf25d..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.function.Supplier; - -class ActionFactoryImpl implements ActionFactory { - - private final Map> suppliers; - - public ActionFactoryImpl(Map> suppliers) { - this.suppliers = suppliers; - } - - @Override - public T create(String type) { - return suppliers.getOrDefault(type, () -> { - throw new IllegalArgumentException("type inconnu"); - }).get(); - } - - @Override - public Set actions() { - return suppliers.keySet(); - } - - static class ThisBuilder implements Builder { - private final Map> suppliers = new HashMap<>(); - - - @Override - public void enregistrer(String type, Supplier supplier) { - suppliers.put(type, supplier); - } - - @Override - public ActionFactory construire() { - return new ActionFactoryImpl<>(suppliers); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java deleted file mode 100644 index 131ddb9..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; - -import java.util.function.Function; - -public interface VehiculeFactory { - - String nommer(Vehicule vehicule); - - T creer(String type, Afficheur afficheur, Saisisseur saisisseur); - - static Builder builder() { - return new VehiculeFactoryImpl.ThisBuilder(); - } - - interface Builder { - void referencer(String type, Function supplier, Class vehicule); - - VehiculeFactory construire(); - } - - interface Context { - Afficheur getAfficheur(); - Saisisseur getSaisisseur(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java deleted file mode 100644 index 0431a51..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -import static java.util.Objects.requireNonNull; - -class VehiculeFactoryImpl implements VehiculeFactory { - - private final Map> registre; - private final Map, String> noms; - - private VehiculeFactoryImpl(Map> registre, Map, String> noms) { - this.registre = registre; - this.noms = noms; - } - - @Override - public String nommer(Vehicule vehicule) { - return requireNonNull(noms.get(vehicule.getClass()), "type de véhicule inconnu au bataillon"); - } - - @SuppressWarnings("unchecked") - @Override - public T creer(String type, Afficheur afficheur, Saisisseur saisisseur) { - Vehicule vehicule = requireNonNull(registre.get(type), "type").apply(new Context() { - @Override - public Afficheur getAfficheur() { - return afficheur; - } - - @Override - public Saisisseur getSaisisseur() { - return saisisseur; - } - }); - return (T) vehicule; - /* if (null instanceof T) { - - } - if (vehicule instanceof T) { // trop beau pour être vrai - return (T) vehicule; - }*/ - //T.class.cast(vehicule); - //throw new IllegalStateException("dommage"); - } - - public static class ThisBuilder implements Builder { - - private final Map> registre = new HashMap<>(); - private final Map, String> noms = new HashMap<>(); - - @Override - public void referencer(String type, Function supplier, Class vehicule) { - registre.put(type, supplier); - noms.put(vehicule, type); - } - - @Override - public VehiculeFactory construire() { - return new VehiculeFactoryImpl(Collections.unmodifiableMap(registre), Collections.unmodifiableMap(noms)); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java deleted file mode 100644 index b0cc4c1..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public interface Afficheur { - - void afficher(String message); - - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java deleted file mode 100644 index 2772668..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -import java.io.PrintStream; - -public class AfficheurConsole implements Afficheur { - - private final PrintStream out; - private final PrintStream err; - - public AfficheurConsole(PrintStream out, PrintStream err) { - this.out = out; - this.err = err; - } - - public AfficheurConsole() { - this(System.out, System.err); - } - - @Override - public void afficher(String message) { - out.println(message); - } - - @Override - public void afficherErreur(String message) { - err.println(message); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java deleted file mode 100644 index dc4cdd7..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public class NoopAfficheur implements Afficheur { - @Override - public void afficher(String message) { - - } - - @Override - public void afficherErreur(String message) { - - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java deleted file mode 100644 index 34a7123..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public interface Saisisseur { - - String demanderMot(); - - int demanderInt(); -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java deleted file mode 100644 index 7984042..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -import java.io.InputStream; -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - public SaisisseurConsole(InputStream stream) { - this.scanner = new Scanner(stream); - } - - public SaisisseurConsole(Reader lecteur) { - this.scanner = new Scanner(lecteur); - } - - public SaisisseurConsole(String lecteur) { - this.scanner = new Scanner(lecteur); - } - - public SaisisseurConsole() { - this(System.in); - } - - @Override - public String demanderMot() { - return scanner.next(); - } - - @Override - public int demanderInt() { - return scanner.nextInt(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java deleted file mode 100644 index ecb9ec8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Camion(int capacite) implements Vehicule { - public Camion { - if (capacite < 0) { - throw new IllegalArgumentException("Capacité invalide!"); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java deleted file mode 100644 index 564bde1..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java +++ /dev/null @@ -1,5 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Camionnette() implements Vehicule { - -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java deleted file mode 100644 index ef49b8a..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class Garage implements Iterable, Serializable { - - private final List vehicules = new ArrayList<>(); - - public List getVehicules() { - return Collections.unmodifiableList(vehicules); - } - - @Override - public Iterator iterator() { - return getVehicules().iterator(); - } - - public void referencer(Vehicule vehicule) { - vehicules.add(vehicule); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java deleted file mode 100644 index 9266bec..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -import java.io.Serializable; - -public interface Vehicule extends Serializable { -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java deleted file mode 100644 index 30276e8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Voiture(int passagers) implements Vehicule { - - public Voiture { - if (passagers < 0) { - throw new IllegalArgumentException("Nombre de passagers invalide!"); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java deleted file mode 100644 index e9f75f0..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.*; -import java.nio.file.Path; - -public class BinaryFilePersistance implements ChargeurGarage, SauveurGarage { - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.bin"); - - private final Path path; - - public BinaryFilePersistance(Path path) { - this.path = path; - } - - public BinaryFilePersistance() { - this(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - try (InputStream lecteur = new FileInputStream(path.toFile()); - ObjectInputStream lecteurObjet = new ObjectInputStream(lecteur)) { - Object object = lecteurObjet.readObject(); - if (object instanceof Garage g) { - g.iterator().forEachRemaining(garage::referencer); - } - } catch (FileNotFoundException ignored) { - } catch (ClassNotFoundException ex) { - sneakyThrow(ex); - } - } - - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - try (OutputStream sortie = new FileOutputStream(path.toFile()); - ObjectOutputStream sortieObjet = new ObjectOutputStream(sortie)) { - sortieObjet.writeObject(garage); - } catch (FileNotFoundException ignored) { - } - } - - public static void sneakyThrow(Throwable e) throws E { - throw (E) e; - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java deleted file mode 100644 index 6d4fa0f..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -@FunctionalInterface -public interface ChargeurGarage { - - void charger(Garage garage, VehiculeFactory factory) throws IOException; -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java deleted file mode 100644 index 84cedf4..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -public class NoopSauveurGarage implements SauveurGarage { - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - // noop - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java deleted file mode 100644 index 0e8c751..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -@FunctionalInterface -public interface SauveurGarage { - - void sauver(Garage garage, VehiculeFactory factory) throws IOException; -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java deleted file mode 100644 index fdede3d..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Camionnette; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; - -import java.io.IOException; - -public class StubChargeurGarage implements ChargeurGarage { - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - garage.referencer(new Camion(9)); - garage.referencer(new Voiture(4)); - garage.referencer(new Camionnette()); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java deleted file mode 100644 index 06d8cd9..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java +++ /dev/null @@ -1,63 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.io.NoopAfficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; - -import java.io.*; -import java.nio.file.Path; - -public class TextFileGaragePersistance implements SauveurGarage, ChargeurGarage { - - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.txt"); - - private final Path path; - - public TextFileGaragePersistance(Path path) { - this.path = path; - } - - public TextFileGaragePersistance() { - this(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - try (Reader lecteur = new FileReader(path.toFile()); - BufferedReader lecteurBuf = new BufferedReader(lecteur)) { - String line; - while ((line = lecteurBuf.readLine()) != null) { - Saisisseur saisisseur = new SaisisseurConsole(line); - Vehicule vehicule = factory.creer(saisisseur.demanderMot(), new NoopAfficheur(), saisisseur); - garage.referencer(vehicule); - } - } catch (FileNotFoundException ignored) { - } - } - - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - char separateur = getSeparateur(); - try (Writer writer = new FileWriter(path.toFile())) { - for (Vehicule vehicule : garage) { - writer.append(factory.nommer(vehicule)).append(separateur); - switch (vehicule) { - case Camion camion -> writer.append(Integer.toString(camion.capacite())); - case Voiture voiture -> writer.append(Integer.toString(voiture.passagers())); - default -> { /* Je suis un cas potentiellement oublié */ } - } - writer.append('\n'); - } - } catch (FileNotFoundException ignored) { - } - } - - public char getSeparateur() { - return ' '; - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java deleted file mode 100644 index 2188bba..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import java.nio.file.Path; - -public class TsvFilePersistance extends TextFileGaragePersistance { - - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.csv"); - - public TsvFilePersistance(Path path) { - super(path); - } - - public TsvFilePersistance() { - super(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public char getSeparateur() { - return '\t'; - } -} diff --git a/2A/Java/tp/tp4-fichier/.idea/.gitignore b/2A/Java/tp/tp4-fichier/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp4-fichier/.idea/misc.xml b/2A/Java/tp/tp4-fichier/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/.idea/modules.xml b/2A/Java/tp/tp4-fichier/.idea/modules.xml deleted file mode 100644 index 5e24095..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml b/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class deleted file mode 100644 index e2ecd73..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class deleted file mode 100644 index 9a389c7..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class deleted file mode 100644 index 3a87cd9..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Directory.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Directory.class deleted file mode 100644 index 62e1f51..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Directory.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/File.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/File.class deleted file mode 100644 index 4ea9643..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/File.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class deleted file mode 100644 index bcc12e6..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class deleted file mode 100644 index b0dd38b..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissible.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissible.class deleted file mode 100644 index a64d7c1..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissible.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissions.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissions.class deleted file mode 100644 index cdc234b..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissions.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/WritableStream.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/WritableStream.class deleted file mode 100644 index a6c5166..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/WritableStream.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.class deleted file mode 100644 index 8f6e842..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class deleted file mode 100644 index 81730cc..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class deleted file mode 100644 index 292f441..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class deleted file mode 100644 index 803680e..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class deleted file mode 100644 index 186b04d..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class deleted file mode 100644 index 7a266a2..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/Command.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/Command.class deleted file mode 100644 index ebf2353..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/Command.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class deleted file mode 100644 index 7edb028..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand$Visitor.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand$Visitor.class deleted file mode 100644 index abbfa48..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand$Visitor.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class deleted file mode 100644 index 1d05617..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/StatCommand.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/StatCommand.class deleted file mode 100644 index c731207..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/StatCommand.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class deleted file mode 100644 index a41a897..0000000 Binary files a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class and /dev/null differ diff --git a/2A/Java/tp/tp4-fichier/shell.sh b/2A/Java/tp/tp4-fichier/shell.sh deleted file mode 100644 index 14649bf..0000000 --- a/2A/Java/tp/tp4-fichier/shell.sh +++ /dev/null @@ -1,2 +0,0 @@ -lsR -stat courses/algo2 \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java deleted file mode 100644 index 9e42e79..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java +++ /dev/null @@ -1,73 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.io; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; - -public class Dump { - - private final Inode node; - private final Path path; - - public Dump(Inode node, Path path) { - this.node = node; - this.path = path; - } - - public Dump(Inode node) { - this(node, Path.of(System.getProperty("user.home"))); - } - - public void dump() throws IOException { - Visitor visitor = new Visitor(this.path); - this.node.visit(visitor); - if (visitor.throwable != null) { - throw visitor.throwable; - } - } - - private static class Visitor implements InodeVisitor { - - private Path current; - private IOException throwable; - - public Visitor(Path current) { - this.current = current; - } - - @Override - public void visitFile(File file) { - try (FileOutputStream stream = new FileOutputStream(current.resolve(file.name()).toFile())) { - for (byte c : file.content()) { - stream.write(c); - } - } catch (IOException e) { - this.throwable = e; - } - } - - @Override - public void visitDirectory(Directory directory) { - try { - Path previous = this.current; - this.current = this.current.resolve(directory.name()); - Files.createDirectory(this.current); - for (Inode child : directory) { - child.visit(this); - if (this.throwable != null) { - break; - } - } - this.current = previous; - } catch (IOException e) { - this.throwable = e; - } - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java deleted file mode 100644 index 59054d3..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java +++ /dev/null @@ -1,30 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import java.io.PrintStream; - -public class ConsoleStream implements WritableStream { - - private final PrintStream stream; - - public ConsoleStream(PrintStream stream) { - this.stream = stream; - } - - public static ConsoleStream stdout() { - return new ConsoleStream(System.out); - } - - public static ConsoleStream stderr() { - return new ConsoleStream(System.err); - } - - @Override - public void write(char c) { - stream.print(c); - } - - @Override - public void write(String str) { - stream.print(str); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java deleted file mode 100644 index 8a97bc6..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.util.Iterator; -import java.util.Map; -import java.util.TreeMap; - -public class Directory extends Inode implements Iterable { - - private static final int DEFAULT_PERMISSIONS = 755; - - private final Map children = new TreeMap<>(); - - public Directory(String filename) { - super(filename, DEFAULT_PERMISSIONS); - } - - public Inode get(String filename) { - return children.get(filename); - } - - public void add(Inode node) { - if (children.putIfAbsent(node.name(), node) != null) { - throw new IllegalArgumentException("This directory already contains the file " + node.name()); - } - } - - @Override - public void visit(InodeVisitor visitor) { - visitor.visitDirectory(this); - } - - @Override - public int size() { - return children.size() + 1; - } - - @Override - public Iterator iterator() { - return children.values().iterator(); - } - - @Override - public String toString() { - return "Directory " + name() + " (" + Integer.toOctalString(permissions()) + ") created on " + creationDate(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java deleted file mode 100644 index 41c30bf..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class File extends Inode implements WritableStream { - - private static final int DEFAULT_PERMISSIONS = 644; - - private final List content = new ArrayList<>(); - - public File(String filename) { - super(filename, DEFAULT_PERMISSIONS); - } - - public List content() { - return Collections.unmodifiableList(this.content); - } - - public void clear() { - content.clear(); - } - - @Override - public void write(char c) { - content.add((byte) c); - } - - @Override - public void write(String str) { - for (char c : str.toCharArray()) { - content.add((byte) c); - } - } - - @Override - public void visit(InodeVisitor visitor) { - visitor.visitFile(this); - } - - @Override - public int size() { - return content.size(); - } - - @Override - public String toString() { - return "TextFile " + name() + " (" + Integer.toOctalString(permissions()) + ") created on " + creationDate(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java deleted file mode 100644 index 608ad4e..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java +++ /dev/null @@ -1,59 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.time.LocalDateTime; - -public abstract class Inode implements Permissible { - - private String name; - private int permissions; - private LocalDateTime creationDate; - private LocalDateTime modificationDate; - private LocalDateTime accessDate; - - public Inode(String name, int permissions) { - this.name = name; - this.permissions = permissions; - this.creationDate = LocalDateTime.now(); - this.modificationDate = LocalDateTime.now(); - this.accessDate = LocalDateTime.now(); - } - - public abstract void visit(InodeVisitor visitor); - - public abstract int size(); - - public LocalDateTime creationDate() { - return this.creationDate; - } - - public LocalDateTime modificationDate() { - return this.modificationDate; - } - - public void setModificationDate(LocalDateTime modificationDate) { - this.modificationDate = modificationDate; - } - - public LocalDateTime accessDate() { - return this.accessDate; - } - - public void setAccessDate(LocalDateTime accessDate) { - this.accessDate = accessDate; - } - - public String name() { - return name; - } - - @Override - public int permissions() { - return this.permissions; - } - - public void setPermissions(int permissions) { - this.permissions = permissions; - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java deleted file mode 100644 index 1cfbffc..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public record Partition(Inode root) { - public Inode resolve(Directory cwd, String s) { - String[] parts = s.split("/"); - Inode dest = cwd; - for (String part : parts) { - if (dest instanceof Directory dir) { - dest = dir.get(part); - if (dest == null) { - throw new IllegalArgumentException("Inode inconnu !"); - } - } else { - throw new IllegalArgumentException("N'est pas un dossier !"); - } - } - return dest; - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java deleted file mode 100644 index 472e687..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public interface Permissible { - - int permissions(); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java deleted file mode 100644 index 5ad34bd..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public final class Permissions { - - private Permissions() {} - - public static final int READ = 1 << 2; - public static final int WRITE = 1 << 1; - public static final int EXECUTE = 1 << 0; - - public static final int USER_SHIFT = 6; - public static final int GROUP_SHIFT = 3; - public static final int OTHERS_SHIFT = 0; -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java deleted file mode 100644 index 0f57ded..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public interface WritableStream { - - void write(char c); - - void write(String str); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java deleted file mode 100644 index cb8b917..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.visitor; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; - -public interface InodeVisitor { - - void visitFile(File file); - - void visitDirectory(Directory directory); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java deleted file mode 100644 index dec617f..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -public interface CommandInput { - - String ask(); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java deleted file mode 100644 index 54dab79..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Deque; -import java.util.LinkedList; - -public class FileCommandInput implements CommandInput { - - private final Deque commands; - - public FileCommandInput(Path path) throws IOException { - this.commands = new LinkedList<>(Files.readAllLines(path)); - } - - @Override - public String ask() { - if (this.commands.isEmpty()) { - return null; - } - return this.commands.pollFirst(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java deleted file mode 100644 index 77b6375..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java +++ /dev/null @@ -1,33 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.shell.command.StatCommand; -import fr.uca.iut.clfreville2.shell.command.DumpCommand; -import fr.uca.iut.clfreville2.shell.command.LsRCommand; - -import java.io.IOException; -import java.nio.file.Path; - -public final class Main { - - public static void main(String[] args) throws IOException { - Directory root = new Directory("root"); - Directory courses = new Directory("courses"); - Directory algo = new Directory("algo2"); - algo.add(new File("list.c")); - algo.add(new File("stack.c")); - root.add(new File("Matrix.txt")); - root.add(courses); - courses.add(algo); - courses.add(new Directory("java")); - Partition p = new Partition(root); - - Shell shell = new Shell(p, root, new FileCommandInput(Path.of("shell.sh"))); - shell.register("lsR", new LsRCommand()); - shell.register("dump", new DumpCommand()); - shell.register("stat", new StatCommand()); - shell.execute(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java deleted file mode 100644 index 7891ccf..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java +++ /dev/null @@ -1,49 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import fr.uca.iut.clfreville2.sgf.model.ConsoleStream; -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; -import fr.uca.iut.clfreville2.shell.command.Command; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class Shell { - - private final Partition partition; - private final Map commands = new HashMap<>(); - private final WritableStream stdout = ConsoleStream.stdout(); - private final WritableStream stderr = ConsoleStream.stderr(); - private Directory currentWorkingDirectory; - private final CommandInput input; - - public Shell(Partition partition, Directory currentWorkingDirectory, CommandInput input) { - this.partition = partition; - this.currentWorkingDirectory = currentWorkingDirectory; - this.input = input; - } - - public void register(String name, Command command) { - this.commands.put(name, command); - } - - public void execute(String rawCommand) { - List args = List.of(rawCommand.split(" ")); - Command command = this.commands.get(args.get(0)); - if (command == null) { - stderr.write("Commande inconnue!\n"); - } else { - command.execute(new ExecutionContext(this.partition, this.currentWorkingDirectory, this.stdout, this.stderr, args)); - } - } - - public void execute() { - String raw; - while ((raw = input.ask()) != null) { - execute(raw); - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java deleted file mode 100644 index 343fbb6..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import java.util.Scanner; - -public class UserCommandInput implements CommandInput { - - private final Scanner scanner = new Scanner(System.in); - - public String ask() { - return this.scanner.nextLine(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java deleted file mode 100644 index bf6b4e7..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -@FunctionalInterface -public interface Command { - - void execute(ExecutionContext ctx); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java deleted file mode 100644 index 43e0f68..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.io.Dump; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.io.IOException; - -public class DumpCommand implements Command { - @Override - public void execute(ExecutionContext ctx) { - try { - new Dump(ctx.cwd()).dump(); - ctx.stdout().write("Le fichier a bien été écrit.\n"); - } catch (IOException e) { - ctx.stderr().write("Le fichier n'a pas pu être écrit (" + e.getClass().getSimpleName() + ": " + e.getMessage() + ").\n"); - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java deleted file mode 100644 index 77d371c..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.util.Arrays; - -public class LsRCommand implements Command { - - @Override - public void execute(ExecutionContext ctx) { - ctx.cwd().visit(new Visitor(ctx.stdout())); - } - - private static class Visitor implements InodeVisitor { - - private final WritableStream stdout; - private int offset = 0; - - public Visitor(WritableStream stdout) { - this.stdout = stdout; - } - - @Override - public void visitFile(File file) { - shift(); - this.stdout.write(file + "\n"); - } - - @Override - public void visitDirectory(Directory directory) { - shift(); - this.stdout.write("Directory [" + directory.name() + "] content:\n"); - this.offset += 2; - for (Inode child : directory) { - child.visit(this); - } - this.offset -= 2; - shift(); - this.stdout.write("----\n"); - } - - private void shift() { - for (int i = 0; i < this.offset; i++) { - this.stdout.write(' '); - } - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java deleted file mode 100644 index 1f6f4cc..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -public class StatCommand implements Command { - @Override - public void execute(ExecutionContext ctx) { - Inode target; - if (ctx.args().size() < 2) { - target = ctx.cwd(); - } else { - try { - target = ctx.partition().resolve(ctx.cwd(), ctx.args().get(1)); - } catch (IllegalArgumentException e) { - ctx.stderr().write(e.getMessage()); - return; - } - } - ctx.stdout().write(Integer.toString(target.size())); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java deleted file mode 100644 index 7f9ce10..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.shell.model; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; - -import java.util.List; - -public record ExecutionContext(Partition partition, Directory cwd, WritableStream stdout, WritableStream stderr, List args) { -} diff --git a/2A/systeme/tp/6_tp/exo1.c b/2A/systeme/tp/6_tp/exo1.c new file mode 100644 index 0000000..e69de29