Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Java9/Use cases

< Java9
Revision as of 02:19, 10 November 2016 by Unnamed Poltroon (Talk) (Created page with "We will write down user scenarios and use cases related to Java modules here that will eventually become part of existing features or new features. == Creation of module-info...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

We will write down user scenarios and use cases related to Java modules here that will eventually become part of existing features or new features.

Creation of module-info

  • User manually creates a module-info, similar to package-info.
    • The created module info has just the module name and an empty body.
  • A new wizard/dialogue to create a blank module-info or to create one from the existing project
    • Wizard pulls out all the packages in the project (sources only) across all source folders

and also picks up the modules used by project and populates the module-info

Completion

  • Completions offered on all keywords depending on context (for e.g. exports 'to', provides 'with')
  • Completions offered on all packages and types depending on the scope and context (scopes being discused in bug bug 507288)
  • Compiler allows/rejects packages and types depending on scope and context.

Quick assist

  • Fill in

Quick fix

  • Unresolved package in 'exports'
    • Offer to create the package?
  • Unresolved type in 'with' clause
    • Offer to create an empty type that implements the mentioned service.
  • Unresolved type in 'provides' clause
    • ?
  • 'with' does not implement 'provides'
    • Offer to make the implementation implement the interface

Hover

  • Hover on module names (the whole name, not just fragements) should display the module name
    • When and if the spec allows Javadoc, then the documenation should be displayed in the hover
  • Hover on all package and type names should work like everywhere else.

Code navigation

  • Action on module should open the module-info.java or module-info.class
  • Action on package names should open the package-info if present.
  • Action on any types, should open the type, even those in other modules than the current one.

Outline View

  • Add more here

Back to the top