@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[] 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 description
public abstract String scriptEngine
freemarker
.ScriptEngineFactory.getNames()
public abstract String[] category
public abstract boolean requireProject
true
or false
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 NetBeans wizards:
public abstract String[] techIds
Built on October 25 2023. | Copyright © 2017-2023 Apache Software Foundation. All Rights Reserved.