Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Java9/Use cases
< Java9
Revision as of 02:19, 10 November 2016 by Jarthana.in.ibm.com (Talk | contribs) (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...")
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.
Contents
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.
- 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