Exploring annotation based programming through the apt and mirror apis
Download
1 / 9

Exploring Annotation-Based Programming through the APT and Mirror APIs - PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Exploring Annotation-Based Programming through the APT and Mirror APIs' - elon


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
Agenda Mirror APIs

Why apt/mirror in Eclipse?

Feature overview

Technical details

Future plans

Q&A


Why apt mirror in eclipse
Why apt/mirror in Eclipse? Mirror APIs

  • 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?


Feature overview
Feature Overview Mirror APIs

  • 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


Technical details
Technical Details Mirror APIs

  • 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


Future plans
Future Plans Mirror APIs

  • 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


  • Release dates
    Release Dates Mirror APIs

    • 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


    Bof 9161
    DEMO Mirror APIs

    • Sample apt processor running inside Eclipse


    Bof 9161
    Q&A Mirror APIs