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
  • Constructor Details

    • AbstractNewPluginTemplateWizard

      public AbstractNewPluginTemplateWizard()
      Creates a new template wizard.
  • Method Details

    • 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
    • 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
      Overrides:
      addPages in class Wizard
    • performFinish

      public boolean performFinish()
      Specified by:
      performFinish in interface IWizard
      Specified by:
      performFinish in class Wizard
    • 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
    • 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 "*.png".
      Specified by:
      getNewFiles in interface IPluginContentWizard
      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

      public String[] 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 interface IBundleContentWizard
      Returns:
      an array of package names required by this wizard