1 / 9

Exploring Annotation-Based Programming through the APT and Mirror APIs

Exploring Annotation-Based Programming through the APT and Mirror APIs. Tim Wagner, Senior Manager Gary Horen, Program Manager BEA Systems, Inc. http://www.bea.com. BOF-9161. Agenda. Why apt/mirror in Eclipse? Feature overview Technical details Future plans Q&A.

elon
Download Presentation

Exploring Annotation-Based Programming through the APT and Mirror APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exploring Annotation-Based Programming through the APT and Mirror APIs Tim Wagner, Senior Manager Gary Horen, Program Manager BEA Systems, Inc.http://www.bea.com BOF-9161

  2. Agenda Why apt/mirror in Eclipse? Feature overview Technical details Future plans Q&A

  3. Why apt/mirror in Eclipse? • Want high-fidelity IDE support for annotations… • …but don’t want to reinvent the wheel Wouldn’t it be great if existing apt processors could run inside Eclipse?

  4. Feature Overview • Eclipse 3.1 plugin that… • Runs apt processors interactively inside Eclipse • Diagnostic integration  “red squiggles” • Build integration (including problem view) • Generated types behave as you’d expect • APT factories can be loaded as plugins or jars • UI to configure APT options

  5. Technical Details • Implementation of 1.5 JDK mirror APIs over the Eclipse type system (via wrappers) • Processors executed during compilation • Separate passes: reconcile (interactive) and build • Replicates apt semantics (fixed point iteration, “claim” model) • Factory discovery • Jars containing factories or Eclipse plugins • Preference UI supports enabling, ordering of jars

  6. Future Plans • Support for enhanced IDE functionality • Content assist (code completion) in annotation values • Quick fix • Integration with property view • Type-specific editors • Propose new annotations/annotation values • Search and refactoring over annotation values • Wizards for creating annotation processor factories and plugins • Adopt JSR 269

  7. Release Dates • Preview • Summer ’05 (i.e., soon!) • Branch of JDT 3.1, based on GA version (new component + minor JDT API enhancements) • Based on open source (yay!) apt/mirror interfaces in the 1.5 JDK • Eclipse Platform 3.2 • Summer ’06 • Standard part of JDT – will reach all Eclipse users • Ideally JSR 269-compliant APIs

  8. DEMO • Sample apt processor running inside Eclipse

  9. Q&A

More Related