X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=exo4%2FMain.java;h=479313d5f4e15df27b09b8ddb477d46e545f4e3a;hb=bb6a4f9a6e8fe7d7a6a08f008c63072ff2c2e460;hp=229b6390ba4f5888c0384e0f9352fe8a7e50298e;hpb=c05c228927b2d9141cbc27e467e252e5e83263cf;p=Project_POO.git diff --git a/exo4/Main.java b/exo4/Main.java index 229b639..479313d 100644 --- a/exo4/Main.java +++ b/exo4/Main.java @@ -1,151 +1,47 @@ +import java.util.LinkedList; +import java.lang.annotation.Annotation; +import java.util.Date; +import java.text.SimpleDateFormat; +import java.text.ParseException; class Main { - private static void main1() { - Point p1 = new Point(1, 2); - Point p2 = new Point(2, 7); - Segment segment = new Segment(p1, p2); - Point p3 = new Point(4, 5); - Cercle cercle = new Cercle(p3, 5.2); - Point p4 = new Point(2, 3); - Piletransformations trans = new Piletransformations(10); - - boolean rt = trans.empiler(p4); - if (!rt) { - System.out.println("Echec empilation"); - } - - segment.dessiner(trans); - cercle.dessiner(trans); - - Point p5 = new Point(3, 5); - segment.deplacer(p5); - cercle.deplacer(p5); - - Image image = new Image(); - image.ajouter(segment); - image.ajouter(cercle); - image.dessiner(trans); - image.deplacer(p5); - image.dessiner(trans); - - trans.depiler(); - } - - private static void main2() { - Point p1 = new Point(1, 2); - Point p2 = new Point(2, 7); - Segment segment1 = new Segment(p1, p2); - Point p3 = new Point(1, 5); - Point p4 = new Point(3, 1); - Segment segment2 = new Segment(p3, p4); - Point p5 = new Point(4, 5); - Cercle cercle1 = new Cercle(p5, 5.2); - Point p6 = new Point(5, 4); - Cercle cercle2 = new Cercle(p6, 4.3); - Point point1 = new Point(8, -1.5); - Image image1 = new Image(); - Image image2 = new Image(); - Image image3 = new Image(); - Piletransformations transformations = new Piletransformations(10); - - transformations.empiler(point1); - image1.ajouter(segment1); - image1.ajouter(cercle1); - image2.ajouter(segment2); - image2.ajouter(cercle2); - image1.dessiner(transformations); - image2.dessiner(transformations); - Point point2 = new Point(0.5, 2.5); - image1.deplacer(point2); - image3.ajouter(image1); - image3.ajouter(image2); - image3.dessiner(transformations); - transformations.depiler(); - } - - public static void main3() { - - Affichable[] affichable = new Affichable[10]; - - Point p1 = new Point(1, 2); - Point p2 = new Point(2, 7); - Point p3 = new Point(1, 5); - - Entiers entiers = new Entiers(5); - entiers.inserer(3); - entiers.inserer(1); - entiers.inserer(5); - - Liste liste = new Liste(); - liste.inserer(3); - liste.inserer(1); - liste.inserer(5); - - for (int i = 0; i < 10; i++) { - affichable[i] = entiers; - affichable[i].afficher(); - - affichable[i] = liste; - affichable[i].afficher(); - - affichable[i] = new Segment(p1, p2); - affichable[i].afficher(); - - affichable[i] = new Cercle(p3, 5.5); - affichable[i].afficher(); - } - - } - - public static void main4() { - - Compactable[] compactable = new Compactable[10]; - - Point p1 = new Point(1, 2); - Point p2 = new Point(2, 7); - Point p3 = new Point(1, 5); - Point p4 = new Point(3, 1); - - Segment segment1 = new Segment(p1, p2); - Segment segment2 = new Segment(p3, p4); - Cercle cercle = new Cercle(p3, 5.5); - Image image = new Image(); - image.ajouter(segment1); - image.ajouter(segment2); - image.ajouter(cercle); - - Entiers entiers = new Entiers(5); - entiers.inserer(3); - entiers.inserer(1); - entiers.inserer(4); - - Liste liste = new Liste(); - liste.inserer(3); - liste.inserer(1); - liste.inserer(5); - liste.inserer(4); - - compactable[0] = entiers; - entiers.afficher(); - compactable[0].compacter(1); - entiers.afficher(); - - compactable[1] = liste; - liste.afficher(); - compactable[1].compacter(1); - liste.afficher(); - - compactable[2] = image; - image.afficher(); - compactable[2].compacter(1); - image.afficher(); - } - + /** + * The main() function + * @param String[] args main() function arguments array + */ public static void main(String[] args) { - - main4(); - + //FIXME: one can create a smart way of building this list + LinkedList> packageClasses = new LinkedList>(); + packageClasses.add(Cercle.class); + packageClasses.add(Entiers.class); + packageClasses.add(Forme.class); + packageClasses.add(Image.class); + packageClasses.add(Node.class); + packageClasses.add(Liste.class); + packageClasses.add(Piletransformations.class); + packageClasses.add(Point.class); + packageClasses.add(Segment.class); + packageClasses.add(Structure.class); + + System.out.println("Class list created after 2009:"); + for (Class cl : packageClasses) { + ClassPreamble classPreamble = cl.getAnnotation(ClassPreamble.class); + if (classPreamble == null) { + System.out.println("No annotation for " + cl.getName()); + continue; + } + try { + SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy"); + Date date = sdf.parse(classPreamble.date()); + Integer classYear = date.getYear() + 1900; + if (classYear >= 2009) { + System.out.println(" " + cl.getName() + " created year " + classYear + "."); + } + } + catch (ParseException e) { + e.printStackTrace(); + } + } } - }