+import java.util.LinkedList;
+import java.lang.annotation.Annotation;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.text.ParseException;
class Main {
* @param String[] args main() function arguments array
*/
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(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();
+ }
+ }
}
}