@Target(value={TYPE,METHOD,PACKAGE}) @Retention(value=SOURCE) public @interface TemplateRegistration
InstantiatingIterator
for a custom template;
or on a package to register a plain-file template with no custom behavior
or define an HTML wizard using the page
attribute.TemplateRegistrations
,
org.netbeans.spi.project.ui.templates.support
Modifier and Type | Required Element and Description |
---|---|
String |
folder
Subfolder in which to place the template, such as
Other or Project/Standard . |
Modifier and Type | Optional Element and Description |
---|---|
String[] |
category
Optional list of categories interpreted by the project system.
|
String[] |
content
File contents, as resources relative to the package of this declaration.
|
String |
description
Optional but recommended relative resource path to an HTML description of the template.
|
String |
displayName
Localized label for the template.
|
String |
iconBase
Icon to use for the template.
|
String |
id
Special file basename to use rather than inferring one from the declaring element,
when
content() is empty. |
String |
page
Location of the HTML page that should be used as a user interface
for the wizard while instantiating this template.
|
int |
position
Optional position within
folder() . |
boolean |
requireProject
Set to false if the template can be instantiated without a project.
|
String |
scriptEngine
Optional name of a script engine to use when processing file content, such as
freemarker . |
String |
targetName
Default (pre-filled) target name for the template, without extension.
|
String[] |
techIds
Selects some of provided technologies.
|
public abstract String folder
Other
or Project/Standard
.public abstract int position
folder()
.public abstract String id
content()
is empty.
Useful for pure templates referenced from PrivilegedTemplates
.public abstract String[] content
Normally only a single file is specified, but for a multifile data object, list the primary entry first.
The file basenames (incl. extension) of the actual template files (as in TemplateWizard.getTemplate()
)
will be taken from the basename of the content resources, though a .template
suffix
may be appended to prevent template resources in a source project from being misinterpreted.
For a "pure" custom iterator with no specified content, the template basename
defaults to the FQN of the class or method defining it but with -
for .
characters,
e.g. pkg-Class-method
, but may be overridden with id()
.
Example usage for a simple, single-file template (with or without custom iterator):
content="resources/empty.php"
For a form template:
content={"Login.java.template", "Login.form.template"}
public abstract String displayName
content()
is specified, in which case it would be defaulted by the data node.
May use the usual #key
syntax.public abstract String iconBase
content()
is specified, in which case it would be defaulted by the data node.public abstract String description
public abstract String scriptEngine
freemarker
.ScriptEngineFactory.getNames()
public abstract String[] category
public abstract boolean requireProject
public abstract String targetName
#key
syntax for localization or branding.public abstract String page
OpenIDE-Module-Needs: org.netbeans.api.templates.wizardThere is a tutorial describing usage of HTML UI in wizards in NetBeans wiki.
public abstract String[] techIds
Built on January 28 2016. | Portions Copyright 1997-2016 Oracle. All rights reserved.