Package org.eclipse.pde.ui.templates
Class AbstractNewPluginTemplateWizard
java.lang.Object
org.eclipse.jface.wizard.Wizard
org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard
- All Implemented Interfaces:
IShellProvider
,IWizard
,IBasePluginWizard
,IBundleContentWizard
,IPluginContentWizard
- Direct Known Subclasses:
NewPluginTemplateWizard
public abstract class AbstractNewPluginTemplateWizard
extends Wizard
implements IBundleContentWizard
This class is used as a common base for plug-in content wizards that are
implemented using PDE template support. The assumption is that one or more
templates will be used to generate plug-in content. Dependencies, new files
and wizard pages are all computed based on the templates.
- Since:
- 2.0
-
Field Summary
Fields inherited from class org.eclipse.jface.wizard.Wizard
DEFAULT_IMAGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
This wizard adds a mandatory first page.final void
addPages()
Implements wizard method.getData()
Returns the field data passed to the wizard during the initialization.getDependencies
(String schemaVersion) Returns new dependencies that are required by this wizard.String[]
Returns names of packages that are required by this wizard.String[]
The wizard is required to return an array of new file and folder names that are generated by it for the purpose of inclusion inbuild.properties
file.abstract ITemplateSection[]
Returns the template sections used in this wizard.boolean
hasPages()
Returns whether this wizard has at least one pagevoid
init
(IFieldData data) Initializes the wizard with the data collected from the parent wizard pages.boolean
boolean
performFinish
(IProject project, IPluginModelBase model, IProgressMonitor monitor) Implements the interface method by looping through template sections and executing them sequentially.Methods inherited from class org.eclipse.jface.wizard.Wizard
addPage, canFinish, createPageControls, dispose, getContainer, getDefaultPageImage, getDialogSettings, getMinimumWizardSize, getNextPage, getPage, getPageCount, getPages, getPreviousPage, getShell, getStartingPage, getTitleBarColor, getWindowTitle, isHelpAvailable, needsPreviousAndNextButtons, needsProgressMonitor, performCancel, setContainer, setDefaultPageImageDescriptor, setDialogSettings, setForcePreviousAndNextButtons, setHelpAvailable, setNeedsProgressMonitor, setTitleBarColor, setWindowTitle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jface.wizard.IWizard
canFinish, createPageControls, dispose, getContainer, getDefaultPageImage, getDialogSettings, getMinimumWizardSize, getNextPage, getPage, getPageCount, getPages, getPreviousPage, getStartingPage, getTitleBarColor, getWindowTitle, isHelpAvailable, needsPreviousAndNextButtons, needsProgressMonitor, performCancel, setContainer
-
Constructor Details
-
AbstractNewPluginTemplateWizard
public AbstractNewPluginTemplateWizard()Creates a new template wizard.
-
-
Method Details
-
init
Description copied from interface:IPluginContentWizard
Initializes the wizard with the data collected from the parent wizard pages. The data can be used to customize the generated content.- Specified by:
init
in interfaceIPluginContentWizard
- Parameters:
data
- all the information collected in the parent wizard that can be used in configuring the generated content
-
getData
Returns the field data passed to the wizard during the initialization.- Returns:
- the parent wizard field data
-
addAdditionalPages
protected abstract void addAdditionalPages()This wizard adds a mandatory first page. Subclasses implement this method to add additional pages to the wizard. -
addPages
public final void addPages()Implements wizard method. Subclasses cannot override it. -
performFinish
public boolean performFinish()- Specified by:
performFinish
in interfaceIWizard
- Specified by:
performFinish
in classWizard
-
performFinish
Implements the interface method by looping through template sections and executing them sequentially.- Specified by:
performFinish
in interfaceIPluginContentWizard
- Parameters:
project
- the projectmodel
- the plug-in modelmonitor
- the progress monitor to track the execution progress as part of the overall new project creation operation- Returns:
true
if the wizard completed the operation with success,false
otherwise.
-
getTemplateSections
Returns the template sections used in this wizard.- Returns:
- the array of template sections
-
getDependencies
Description copied from interface:IPluginContentWizard
Returns new dependencies that are required by this wizard. If the wizard adds extensions or code to the plug-in that depend on other plug-ins, it must report it by returning a reference to that plug-in. This information will be used to compose a correct list of plug-in dependencies so that the plug-in compiles without errors in the first build after creation.- Specified by:
getDependencies
in interfaceIPluginContentWizard
- Parameters:
schemaVersion
- version of the plug-in manifest, or null if older manifest (prior to 3.0) has been created. Depending on the manifest version, the list of dependencies may vary.- Returns:
- the array of plug-in dependencies required by this wizard
-
getNewFiles
Description copied from interface:IPluginContentWizard
The wizard is required to return an array of new file and folder names that are generated by it for the purpose of inclusion inbuild.properties
file. All files and folders that must be part of the binary build must be listed inbin.includes
variable. Since the tokens obtained by this method will be passed to the variable as-is, it is legal to use all wild cards also legal inbuild.properties
, such as "*.png".- Specified by:
getNewFiles
in interfaceIPluginContentWizard
- Returns:
- an array of new file and folder names
-
hasPages
public boolean hasPages()Returns whether this wizard has at least one page- Returns:
- whether this wizard has at least one page
-
getImportPackages
Description copied from interface:IBundleContentWizard
Returns names of packages that are required by this wizard. This information will be used to compose the Import-Package header of the manifest.mf being generated, so that the plug-in compiles without errors in the first build after creation.- Specified by:
getImportPackages
in interfaceIBundleContentWizard
- Returns:
- an array of package names required by this wizard
-