GeekOut
From APIDesign
I've been invited to talk at GeekOut on Jun 14, 15 2012. I'd like to have about two hour tutorial on AnnotationProcessors. Slides for my GeekOut 2012 presentation about processing annotations are available as well as sample code which is at github repository. The progress can be observed at:
- Three classes of mostly boiler plate code using regular ServiceLoader infrastructure that requires all registered protocol handlers to be instantiated at begining
- Three classes of similar code registered using own annotation and our annotation processor - a system where each handler can be instantiated only when needed - e.g. one by one
- Single class with essential code only - the other classes eliminated by more advanced annotation processor
Hack into Your Compiler!
Many people are convinced that compilers are complicated science. Right, they sort of are. On the other hand, JDK6's annotation processing API makes it easier than ever to plug in to the compilation process and participate on producing extra resources, as well as classes.
During the tutorial we will study the basic behavior of annotation processors. We will write our own, analyse how it helps performance. We will walk through various examples of existing processors to see how limitless they are (except few gotchas). Last, but not least we'll uncover the hidden capability of annotation processors to extend any JDK6 complaint Java IDE.
If you have never hear of annotation processors, join our tutorial to get a feel for their power. If you have faced complexity of compilers before, stop by to see how easily is JavaC extensible. Should you have written annotation processors before, visit us anyway - either the tutorial increases your knowledge, or you will increase our.
Let's do some compiler hacking at GeekOut!
Bio
Jaroslav Tulach is the founder and initial architect of NetBeans, which is not just a well known IDE, but also the first modular desktop application framework written in Java. Maintaining NetBeans Platform, its architecture and APIs has always been the primary focus of Jaroslav. During more than fifteen years of participating in the NetBeans.org project, Jaroslav has seen, made and helped to recover from many design mistakes. Such experience obligated Jaroslav to sit down and summarize it in his Practical API Book. The GeekOut tutorial is going to be based on Jaroslav's recent experience with making NetBeans APIs better with the help of compile time annotations.
Video
My two hour presentation was recorded. Here is the result: