MoreDeclarativeRegistrationUsingAnnotations
(→MIME resolvers) |
(→Data loaders) |
||
Line 9: | Line 9: | ||
=Data loaders= | =Data loaders= | ||
- | [http://netbeans.org/bugzilla/show_bug.cgi?id=207219 bug #207219] | + | [http://netbeans.org/bugzilla/show_bug.cgi?id=207219 bug #207219] |
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
==Loader actions== | ==Loader actions== | ||
Revision as of 23:19, 30 January 2012
Background: DeclarativeRegistrationUsingAnnotations#Potential_Layer_Annotations
In addition to new annotations, we need more editor hints to replace old layer.xml registrations - only a few cases (actions, templates) are currently covered, and even then not fully.
Contents |
MIME resolvers
Data loaders
Loader actions
TBD how to handle context menu actions. See DeclarativeRegistrationUsingAnnotations#Problems_with_actions for discussion.
Startup tasks
Most simply: an annotation to register ModuleInstall implementations.
More ambitiously, an annotation to cover parallelizable startup tasks, perhaps replacing ModuleInstall as well as other hooks: #200636.
Either would supersede #163937 (refactoring hook).
Navigator panels
bug #206954 done
Task list providers
Two kinds of provider, both should be simple to register.
Need to eliminate nonmodular registration of filters in TypesFilter.enabledProviders (see c6e3e159fc1b for example).
Quick search providers
Should be simple.
Palette items
Probably straightforward as package annotations.
XML catalogs, schemas, DTDs
May be tricky. See #192595 for discussion.
Project type registration
See #193549.
Repeating annotations
JEP 120 proposes repeating annotations, which would allow us to write the more natural
@ActionID(...) @ActionRegistration(...) @ActionReference(path="Menu/File") @ActionReference(path="Toolbars/File") public class A implements ActionListener {...}
rather than the current awkward
@ActionID(...) @ActionRegistration(...) @ActionReferences({ @ActionReference(path="Menu/File") @ActionReference(path="Toolbars/File") } public class A implements ActionListener {...}
Of course this has to wait for JDK 8 (or whenever the JEP is implemented).