I made a few little improvements to Scannotation that I needed to have in our JSR-311 implementation:

  • CrossRefException is now a checked exception. You should be forced to deal with this exception.
  • Configurable ignored packages. You can specify which packages you do not want to scan. Performance tweak.
  • Meta-annotations are now cross-referenceable if you invoke the appropriate APIs. What do I mean by this?

Example of cross-referencing meta-annotations:

@HttpMethod("GET")
public @interface GET {}

public class BookStore {
    @GET String getBook() {...}
}

BookStore can now be cross-referenced with @HttpMethod if you call the appropriate method on AnnotationDB.