Eclipse PDE
Release 3.0

org.eclipse.pde.ui.templates
Class AbstractNewPluginTemplateWizard

java.lang.Object
  extended byorg.eclipse.jface.wizard.Wizard
      extended byorg.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard
All Implemented Interfaces:
IBasePluginWizard, IPluginContentWizard, IWizard
Direct Known Subclasses:
NewPluginTemplateWizard

public abstract class AbstractNewPluginTemplateWizard
extends Wizard
implements IPluginContentWizard

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
AbstractNewPluginTemplateWizard()
          Creates a new template wizard.
 
Method Summary
protected abstract  void addAdditionalPages()
          This wizard adds a mandatory first page.
 void addPages()
          Implements wizard method.
 IFieldData getData()
          Returns the field data passed to the wizard during the initialization.
 IPluginReference[] getDependencies(String schemaVersion)
          Returns new dependencies that are required by this wizard.
 String[] getNewFiles()
          The wizard is required to return an array of new file and folder names that are generated by it for the purpose of inclusion in build.properties file.
abstract  ITemplateSection[] getTemplateSections()
          Returns the template sections used in this wizard.
 void init(IFieldData data)
          Initializes the wizard with the data collected from the parent wizard pages.
 boolean performFinish()
           
 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, 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, getNextPage, getPage, getPageCount, getPages, getPreviousPage, getStartingPage, getTitleBarColor, getWindowTitle, isHelpAvailable, needsPreviousAndNextButtons, needsProgressMonitor, performCancel, setContainer
 

Constructor Detail

AbstractNewPluginTemplateWizard

public AbstractNewPluginTemplateWizard()
Creates a new template wizard.

Method Detail

init

public void init(IFieldData data)
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 interface IPluginContentWizard
Parameters:
data - all the information collected in the parent wizard that can be used in configuring the generated content
See Also:
IPluginContentWizard.init(IFieldData)

getData

public IFieldData 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.

Specified by:
addPages in interface IWizard

performFinish

public boolean performFinish()
Specified by:
performFinish in interface IWizard
See Also:
Wizard.performFinish()

performFinish

public boolean performFinish(IProject project,
                             IPluginModelBase model,
                             IProgressMonitor monitor)
Implements the interface method by looping through template sections and executing them sequentially.

Specified by:
performFinish in interface IPluginContentWizard
Parameters:
project - the project
model - the plug-in model
monitor - 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

public abstract ITemplateSection[] getTemplateSections()
Returns the template sections used in this wizard.

Returns:
the array of template sections

getDependencies

public IPluginReference[] getDependencies(String schemaVersion)
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 interface IPluginContentWizard
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
See Also:
IPluginContentWizard.getDependencies(String)

getNewFiles

public String[] 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 in build.properties file. All files and folders that must be part of the binary build must be listed in bin.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 in build.properties, such as "*.gif".

Specified by:
getNewFiles in interface IPluginContentWizard
Returns:
See Also:
IPluginContentWizard.getNewFiles()

Eclipse PDE
Release 3.0

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.