exo4: add a generic Node class and make use of it.
[Project_POO.git] / exo4 / Main.java
index 040c2e2e356b8f755a5e3f723c0c8ffe7b5ec19d..479313d5f4e15df27b09b8ddb477d46e545f4e3a 100644 (file)
@@ -1,6 +1,8 @@
 import java.util.LinkedList;
-//import java.lang.reflect.Method;
 import java.lang.annotation.Annotation;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.text.ParseException;
 
 class Main {
 
@@ -11,22 +13,35 @@ class Main {
     public static void main(String[] args) {
         //FIXME: one can create a smart way of building this list
         LinkedList<Class<?>> packageClasses = new LinkedList<Class<?>>();
+        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)
+            if (classPreamble == null) {
                 System.out.println("No annotation for " + cl.getName());
                 continue;
-
-            //System.out.println("Annotation date = " + classPreamble.date());
+            }
+            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();
+            }
         }
     }
 }