MoreDeclarativeRegistrationUsingAnnotations

(Difference between revisions)
Line 1: Line 1:
Background: [[DeclarativeRegistrationUsingAnnotations#Potential_Layer_Annotations]]
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.
=MIME resolvers=
=MIME resolvers=
Line 51: Line 53:
Should be simple.
Should be simple.
-
=XML catalogs=
+
=Palette items=
-
<pre>
+
Probably straightforward as package annotations.
-
@CatalogReader.Registration
+
 
-
public class HibernateCatalog implements CatalogReader, CatalogDescriptor, EntityResolver {...}
+
=XML catalogs, schemas, DTDs=
-
</pre>
+
 
 +
May be tricky. See #192595 for discussion.
 +
 
 +
=Project type registration=
-
Registration of these is so straightforward
+
See #193549.
-
that it is worth asking why <tt>CatalogReader</tt>s are not simply searched for in global lookup. #192595 has a fuller discussion.
+

Revision as of 16:47, 9 November 2011

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

Easy: link to an XML file in the current DTD, similar to @HelpSetRegistration.

Trickier: provide similar functionality entirely in annotations.

Should be possible to register also on a nondeclarative resolver.

Data loaders

For traditional DataLoader-extending modules:

@DataObject.Factory.Registration(mimeTypes="text/html", label="#PROP_HtmlLoader_Name",
                                 icon="org/netbeans/modules/html/htmlObject.png")
public class HtmlLoader extends UniFileLoader {...}

For those skipping the loader and using DataLoaderPool.factory:

@DataObject.Factory.Registration(mimeTypes="text/html", label="#PROP_HtmlLoader_Name",
                                 icon="org/netbeans/modules/html/htmlObject.png")
public class HtmlDataObject extends MultiDataObject {...}

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

Registered per MIME type. Should be simple.

Task list providers

Two kinds of provider, both should be simple to register.

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.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo