org.eclipse.jdt.ui.wizards

## Class NewJavaProjectWizardPageTwo

- java.lang.Object
- - org.eclipse.jface.dialogs.DialogPage
  - - org.eclipse.jface.wizard.WizardPage
    - - org.eclipse.jdt.ui.wizards.NewElementWizardPage
      - - org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage
        - - org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo

All Implemented Interfaces:
  IDialogPage, IMessageProvider, IWizardPage

    public class NewJavaProjectWizardPageTwo
    extends JavaCapabilityConfigurationPage

The second page of the New Java project wizard. It allows to configure the build path and output location. As addition to the `JavaCapabilityConfigurationPage`, the wizard page does an early project creation (so that linked folders can be defined) and, if an existing external location was specified, detects the class path.

Clients may instantiate or subclass.

Since:
  3.4

### Field Summary

### Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider

`ERROR, INFORMATION, NONE, WARNING`

### Constructor Summary

Constructors
Constructor and Description
`NewJavaProjectWizardPageTwo(NewJavaProjectWizardPageOne mainPage)` Constructor for the `NewJavaProjectWizardPageTwo`.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected IProject` `createProvisonalProject()` Creates the provisional project on which the wizard is working on.
`void` `dispose()`
`protected void` `initializeBuildPath(IJavaProject javaProject, IProgressMonitor monitor)` Evaluates the new build path and output folder according to the settings on the first page.
`void` `performCancel()` Called from the wizard on cancel.
`void` `performFinish(IProgressMonitor monitor)` Called from the wizard on finish.
`protected void` `removeProvisonalProject()` Removes the provisional project.
`void` `setVisible(boolean visible)`
`protected boolean` `useNewSourcePage()` Clients can override this method to choose if the new source page is used.

### Methods inherited from class org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage

`configureJavaProject, configureJavaProject, createControl, createProject, createProject, getJavaProject, getOutputLocation, getRawClassPath, getRunnable, init, setFocus`

### Methods inherited from class org.eclipse.jdt.ui.wizards.NewElementWizardPage

`updateStatus, updateStatus`

### Methods inherited from class org.eclipse.jface.wizard.WizardPage

`canFlipToNextPage, getContainer, getDialogSettings, getImage, getName, getNextPage, getPreviousPage, getShell, getWizard, isCurrentPage, isPageComplete, setDescription, setErrorMessage, setImageDescriptor, setMessage, setPageComplete, setPreviousPage, setTitle, setWizard, toString`

### Methods inherited from class org.eclipse.jface.dialogs.DialogPage

`convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getMessage, getMessageType, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, performHelp, setButtonLayoutData, setControl, setMessage`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage

`getControl, getDescription, getErrorMessage, getMessage, getTitle, performHelp`

### Constructor Detail

#### NewJavaProjectWizardPageTwo

    public NewJavaProjectWizardPageTwo(NewJavaProjectWizardPageOne mainPage)

Constructor for the `NewJavaProjectWizardPageTwo`.

Parameters:
  `mainPage` - the first page of the wizard

### Method Detail

#### useNewSourcePage

    protected final boolean useNewSourcePage()

Description copied from class: `JavaCapabilityConfigurationPage`
Clients can override this method to choose if the new source page is used. The new source page requires that the project is already created as Java project. The page will directly manipulate the classpath. By default `false` is returned.

Overrides:
  `useNewSourcePage` in class `JavaCapabilityConfigurationPage`
Returns:
  Returns `true` if the new source page should be used.

#### setVisible

    public void setVisible(boolean visible)

Specified by:
  `setVisible` in interface `IDialogPage`
Overrides:
  `setVisible` in class `NewElementWizardPage`

#### initializeBuildPath

    protected void initializeBuildPath(IJavaProject javaProject,
                                       IProgressMonitor monitor)
                                throws CoreException

Evaluates the new build path and output folder according to the settings on the first page. The resulting build path is set by calling `JavaCapabilityConfigurationPage.init(IJavaProject, IPath, IClasspathEntry[], boolean)`. Clients can override this method.

Parameters:
  `javaProject` - the new project which is already created when this method is called.
  `monitor` - the progress monitor
Throws:
  `CoreException` - thrown when initializing the build path failed

#### performFinish

    public void performFinish(IProgressMonitor monitor)
                       throws CoreException,
                              InterruptedException

Called from the wizard on finish.

Parameters:
  `monitor` - the progress monitor
Throws:
  `CoreException` - thrown when the project creation or configuration failed
  `InterruptedException` - thrown when the user cancelled the project creation

#### createProvisonalProject

    protected IProject createProvisonalProject()

Creates the provisional project on which the wizard is working on. The provisional project is typically created when the page is entered the first time. The early project creation is required to configure linked folders.

Returns:
  the provisional project

#### removeProvisonalProject

    protected void removeProvisonalProject()

Removes the provisional project. The provisional project is typically removed when the user cancels the wizard or goes back to the first page.

#### performCancel

    public void performCancel()

Called from the wizard on cancel.

#### dispose

    public void dispose()

Specified by:
  `dispose` in interface `IDialogPage`
Overrides:
  `dispose` in class `JavaCapabilityConfigurationPage`