Java language annotations, introduced in Java 1.5. JSR 175: A Metadata Facility for the JavaTM Programming Language http://www.jcp.org/en/jsr/detail?id=175 Java 1.5 lets you add metadata to your source files, to drive the compilation process, and/or be used at runtime to modify the operation of your programs. URLs: * What Java annotations are: http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html * "apt" - the Java compile-time annotation processing tool: http://java.sun.com/j2se/1.5.0/docs/guide/apt/index.html Also, in Java 1.6 the Pluggable Annotation Processing API (JSR 269) was introduced, which allows you to process annotation at compile time. This is specially useful for source code generators. ----- Tools that enable you to do Java annotations (JSR 175) in a Java 1.4 environment: * backport175: http://backport175.codehaus.org/ ** backport175 - a backport of Java 5 annotations for Java 1.4 - http://docs.codehaus.org/display/175/2005/02/15/Introducing+backport175+-+a+backport+of+Java+5+annotations+for+Java+1.4 * retroweaver: http://retroweaver.sourceforge.net/ ** article: http://www-128.ibm.com/developerworks/java/library/j-cwt07065/ Make javadoc comments available at run time: * Jakarta Commons-Attributes - http://jakarta.apache.org/commons/attributes/ * QDox - http://opensource.thoughtworks.com/projects/qdox.jsp * XJavaDoc - a faster JavaDoc processor - http://xdoclet.sourceforge.net/xjavadoc/ Articles: * Comments on backport175, retroweaver, and TestNG - http://www.theserverside.com/news/thread.tss?thread_id=31882#157106 * "Using Annotations with Aspects in Pre-Java 5 Versions" - http://www.devx.com/Java/Article/29114