exo5: add filtred maps from the original tree map.
[Project_POO.git] / exo4 / Main.java
CommitLineData
6e9d7383 1import java.util.LinkedList;
6e9d7383 2import java.lang.annotation.Annotation;
3b196926
JB
3import java.util.Date;
4import java.text.SimpleDateFormat;
5import java.text.ParseException;
b2186d16
JB
6
7class Main {
8
9 /**
10 * The main() function
11 * @param String[] args main() function arguments array
12 */
13 public static void main(String[] args) {
6e9d7383
JB
14 //FIXME: one can create a smart way of building this list
15 LinkedList<Class<?>> packageClasses = new LinkedList<Class<?>>();
3b196926 16 packageClasses.add(Cercle.class);
6e9d7383
JB
17 packageClasses.add(Entiers.class);
18 packageClasses.add(Forme.class);
19 packageClasses.add(Image.class);
20 packageClasses.add(Liste.class);
21 packageClasses.add(Piletransformations.class);
22 packageClasses.add(Point.class);
23 packageClasses.add(Segment.class);
24 packageClasses.add(Structure.class);
b2186d16 25
3b196926 26 System.out.println("Class list created after 2009:");
6e9d7383
JB
27 for (Class<?> cl : packageClasses) {
28 ClassPreamble classPreamble = cl.getAnnotation(ClassPreamble.class);
80eafbcb 29 if (classPreamble == null) {
6e9d7383
JB
30 System.out.println("No annotation for " + cl.getName());
31 continue;
80eafbcb 32 }
3b196926
JB
33 try {
34 SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy");
35 Date date = sdf.parse(classPreamble.date());
36 Integer classYear = date.getYear() + 1900;
37 if (classYear >= 2009) {
38 System.out.println(" " + cl.getName() + " created year " + classYear + ".");
39 }
40 }
41 catch (ParseException e) {
a1aa04de 42 e.printStackTrace();
3b196926 43 }
6e9d7383 44 }
b2186d16
JB
45 }
46}