Package org.eclipse.jdt.junit.wizards

# Class NewTestSuiteWizardPage

java.lang.Object
org.eclipse.jface.dialogs.DialogPage
org.eclipse.jface.wizard.WizardPage
org.eclipse.jdt.ui.wizards.NewElementWizardPage
org.eclipse.jdt.ui.wizards.NewContainerWizardPage
org.eclipse.jdt.ui.wizards.NewTypeWizardPage
org.eclipse.jdt.junit.wizards.NewTestSuiteWizardPage

All Implemented Interfaces:
  `IDialogPage`, `IMessageProvider`, `IWizardPage`

public class NewTestSuiteWizardPage extends NewTypeWizardPage
The class `NewTestSuiteWizardPage` contains controls and validation routines for the single page in the 'New JUnit TestSuite Wizard'.

Clients can use the page as-is and add it to their own wizard, or extend it to modify validation or add and remove controls.

Since:
  3.1

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.jdt.ui.wizards.NewTypeWizardPage

`NewTypeWizardPage.ImportsManager`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`CLASSES_IN_SUITE`
Field ID of the class in suite field.
`static final String`
`COMMENT_START`
`static final String`
`END_MARKER`
The string used to mark the end of the generated code
`static final String`
`JUNIT4TOGGLE`
Field ID of the junit4 toggle field.
`static final String`
`NON_COMMENT_END_MARKER`
`static final String`
`NON_COMMENT_START_MARKER`
`static final String`
`START_MARKER`
The string used to mark the beginning of the generated code

### Fields inherited from class org.eclipse.jdt.ui.wizards.NewTypeWizardPage

`ANNOTATION_TYPE, CLASS_TYPE, ENCLOSING, ENCLOSINGSELECTION, ENUM_TYPE, F_ABSTRACT, F_FINAL, F_PRIVATE, F_PROTECTED, F_PUBLIC, F_STATIC, fAddCommentButton, fEnclosingTypeStatus, fModifierStatus, fPackageStatus, fSealedModifierStatus, fSealedSuperClassStatus, fSealedSuperInterfacesStatus, fSuperClassStatus, fSuperInterfacesStatus, fTypeNameStatus, INTERFACE_TYPE, INTERFACES, METHODS, MODIFIERS, PACKAGE, RECORD_TYPE, SEALEDMODIFIERS, SUPER, TYPENAME`

### Fields inherited from class org.eclipse.jdt.ui.wizards.NewContainerWizardPage

`CONTAINER, fContainerStatus`

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

`ERROR, INFORMATION, NONE, WARNING`

## Constructor Summary

Constructors
Constructor
Description
`NewTestSuiteWizardPage()`
Creates a new `NewTestSuiteWizardPage`.

## Method Summary

Modifier and Type
Method
Description
`protected String`
`constructCUContent(ICompilationUnit cu, String typeContent, String lineDelimiter)`
Uses the New Java file template from the code template page to generate a compilation unit with the given type content.
`protected void`
`createClassesInSuiteControl(Composite parent, int nColumns)`
Creates the controls for the list of classes in the suite.
`void`
`createControl(Composite parent)`
`protected void`
`createJUnit4Controls(Composite composite, int nColumns)`
Creates the controls for the JUnit 4 toggle control.
`protected void`
`createMethodStubSelectionControls(Composite composite, int nColumns)`
Creates the controls for the method stub selection buttons.
`void`
`createType(IProgressMonitor monitor)`
Creates the new type using the entered field values.
`protected void`
`createTypeMembers(IType type, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor)`
Hook method that gets called from `createType` to support adding of unanticipated methods, fields, and inner types to the created type.
`protected void`
`handleFieldChanged(String fieldName)`
Hook method that gets called when a field on this page has changed.
`boolean`
`hasUpdatedExistingClass()`
Returns true iff an existing suite() method has been replaced.
`void`
`init(IStructuredSelection selection)`
Should be called from the wizard with the initial selection.
`boolean`
`isJUnit4()`
Returns `true` if the test suite should be created as Junit 4 suite
`boolean`
`isJUnit5()`
Returns `true` if the test suite should be created as Junit 5 suite
`void`
`setJUnit4(boolean isJUnit4, boolean isEnabled)`
Deprecated.
Use setJUnit4or5 instead
`void`
`setJUnit4or5(boolean isJUnit4, boolean isJUnit5, boolean isEnabled)`
Specifies if the test should be created as JUnit 5 test.
`void`
`setVisible(boolean visible)`
`protected IStatus`
`typeNameChanged()`
Hook method that gets called when the type name has changed.
`protected void`
`updateClassesInSuiteTable()`
Updates the classes in the suite table.

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

`addSuperInterface, addSuperInterface, chooseEnclosingType, choosePackage, chooseSuperClass, chooseSuperInterfaces, containerChanged, createCommentControls, createCommentWithLinkControls, createEnclosingTypeControls, createInheritedMethods, createMainMethod, createModifierControls, createPackageControls, createSeparator, createSuperClassControls, createSuperInterfacesControls, createTypeNameControls, enableCommentControl, enclosingTypeChanged, getCompilationUnitName, getCreatedType, getEnclosingType, getEnclosingTypeLabel, getEnclosingTypeText, getFileComment, getFileComment, getModifiedResource, getModifiers, getModifiersLabel, getPackageFragment, getPackageLabel, getPackageText, getRunnable, getSealedModifierStatus, getSealedSuperClassStatus, getSealedSuperInterfaceStatus, getSuperClass, getSuperClassLabel, getSuperClassStatus, getSuperInterfaces, getSuperInterfacesLabel, getSuperInterfaceStatus, getTemplate, getTemplate, getTypeComment, getTypeComment, getTypeName, getTypeNameLabel, getUniqueJavaTypeName, initTypePage, isAddComments, isEnclosingTypeSelected, isSuperClassFinal, isSuperTypeSealed, modifiersChanged, packageChanged, setAddComments, setEnclosingType, setEnclosingTypeSelection, setFocus, setModifiers, setPackageFragment, setSuperClass, setSuperClass, setSuperInterfaces, setSuperInterfacesList, setTypeName, superClassChanged, superInterfacesChanged, validateSealedSuperInterfacesStatus`

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

`chooseContainer, createContainerControls, getContainerLabel, getCurrentTextSelection, getInitialJavaElement, getJavaProject, getMaxFieldWidth, getPackageFragmentRoot, getPackageFragmentRootText, getWorkspaceRoot, initContainerPage, initContainerPage, setFocusOnContainer, setPackageFragmentRoot`

### 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, dispose, 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

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

### Methods inherited from interface org.eclipse.jface.wizard.IWizardPage

`getMinimumPageSize`

## Field Details

### NON_COMMENT_END_MARKER

public static final String NON_COMMENT_END_MARKER

See Also:
  - Constant Field Values

### NON_COMMENT_START_MARKER

public static final String NON_COMMENT_START_MARKER

See Also:
  - Constant Field Values

### COMMENT_START

public static final String COMMENT_START

See Also:
  - Constant Field Values

### START_MARKER

public static final String START_MARKER
The string used to mark the beginning of the generated code

See Also:
  - Constant Field Values

### END_MARKER

public static final String END_MARKER
The string used to mark the end of the generated code

See Also:
  - Constant Field Values

### CLASSES_IN_SUITE

public static final String CLASSES_IN_SUITE
Field ID of the class in suite field.

See Also:
  - Constant Field Values

### JUNIT4TOGGLE

public static final String JUNIT4TOGGLE
Field ID of the junit4 toggle field.

Since:
  3.7
See Also:
  - Constant Field Values

## Constructor Details

### NewTestSuiteWizardPage

public NewTestSuiteWizardPage()
Creates a new `NewTestSuiteWizardPage`.

## Method Details

### createControl

public void createControl(Composite parent)

### createMethodStubSelectionControls

protected void createMethodStubSelectionControls(Composite composite, int nColumns)
Creates the controls for the method stub selection buttons. Expects a `GridLayout` with at least 3 columns.

Parameters:
  `composite` - the parent composite
  `nColumns` - number of columns to span

### init

public void init(IStructuredSelection selection)
Should be called from the wizard with the initial selection.

Parameters:
  `selection` - the initial selection

### handleFieldChanged

protected void handleFieldChanged(String fieldName)
Description copied from class: `NewContainerWizardPage`
Hook method that gets called when a field on this page has changed. For this page the method gets called when the source folder field changes.

Every sub type is responsible to call this method when a field on its page has changed. Subtypes override (extend) the method to add verification when a own field has a dependency to an other field. For example the class name input must be verified again when the package field changes (check for duplicated class names).

Overrides:
  `handleFieldChanged` in class `NewTypeWizardPage`
Parameters:
  `fieldName` - The name of the field that has changed (field id). For the source folder the field id is `CONTAINER`

### setVisible

public void setVisible(boolean visible)

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

### updateClassesInSuiteTable

protected void updateClassesInSuiteTable()
Updates the classes in the suite table.

### createClassesInSuiteControl

protected void createClassesInSuiteControl(Composite parent, int nColumns)
Creates the controls for the list of classes in the suite. Expects a `GridLayout` with at least 3 columns.

Parameters:
  `parent` - the parent composite
  `nColumns` - number of columns to span

### createTypeMembers

protected void createTypeMembers(IType type, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor) throws CoreException
Description copied from class: `NewTypeWizardPage`
Hook method that gets called from `createType` to support adding of unanticipated methods, fields, and inner types to the created type.

Implementers can use any methods defined on `IType` to manipulate the new type.

The source code of the new type will be formatted using the platform's formatter. Needed imports are added by the wizard at the end of the type creation process using the given import manager.

Overrides:
  `createTypeMembers` in class `NewTypeWizardPage`
Parameters:
  `type` - the new type created via `createType`
  `imports` - an import manager which can be used to add new imports
  `monitor` - a progress monitor to report progress. Must not be `null`
Throws:
  `CoreException` - thrown when creation of the type members failed
See Also:
  - `NewTypeWizardPage.createType(IProgressMonitor)`

### createType

public void createType(IProgressMonitor monitor) throws CoreException, InterruptedException
Description copied from class: `NewTypeWizardPage`
Creates the new type using the entered field values.

Overrides:
  `createType` in class `NewTypeWizardPage`
Parameters:
  `monitor` - a progress monitor to report progress.
Throws:
  `CoreException` - Thrown when the creation failed.
  `InterruptedException` - Thrown when the operation was canceled.

### hasUpdatedExistingClass

public boolean hasUpdatedExistingClass()
Returns true iff an existing suite() method has been replaced.

Returns:
  `true` is returned if an existing test suite has been replaced

### typeNameChanged

protected IStatus typeNameChanged()
Description copied from class: `NewTypeWizardPage`
Hook method that gets called when the type name has changed. The method validates the type name and returns the status of the validation.

Subclasses may extend this method to perform their own validation.

Overrides:
  `typeNameChanged` in class `NewTypeWizardPage`
Returns:
  the status of the validation

### createJUnit4Controls

protected void createJUnit4Controls(Composite composite, int nColumns)
Creates the controls for the JUnit 4 toggle control. Expects a `GridLayout` with at least 3 columns.

Parameters:
  `composite` - the parent composite
  `nColumns` - number of columns to span
Since:
  3.7

### setJUnit4

@Deprecated public void setJUnit4(boolean isJUnit4, boolean isEnabled)
Deprecated.
Use setJUnit4or5 instead
Specifies if the test should be created as JUnit 4 test.

Parameters:
  `isJUnit4` - If set, a JUnit 4 test will be created
  `isEnabled` - if `true` the modifier fields are editable; otherwise they are read-only
Since:
  3.7

### setJUnit4or5

public void setJUnit4or5(boolean isJUnit4, boolean isJUnit5, boolean isEnabled)
Specifies if the test should be created as JUnit 5 test.

Parameters:
  `isJUnit4` - If set, a JUnit 4 test will be created
  `isJUnit5` - If set, a JUnit 5 test will be created
  `isEnabled` - if `true` the modifier fields are editable; otherwise they are read-only
Since:
  3.15

### isJUnit5

public boolean isJUnit5()
Returns `true` if the test suite should be created as Junit 5 suite

Returns:
  returns `true` if the test suite should be created as Junit 5 test
Since:
  3.15

### isJUnit4

public boolean isJUnit4()
Returns `true` if the test suite should be created as Junit 4 suite

Returns:
  returns `true` if the test suite should be created as Junit 4 test
Since:
  3.7

### constructCUContent

protected String constructCUContent(ICompilationUnit cu, String typeContent, String lineDelimiter) throws CoreException
Description copied from class: `NewTypeWizardPage`
Uses the New Java file template from the code template page to generate a compilation unit with the given type content.

Overrides:
  `constructCUContent` in class `NewTypeWizardPage`
Parameters:
  `cu` - The new created compilation unit
  `typeContent` - The content of the type, including signature and type body.
  `lineDelimiter` - The line delimiter to be used.
Returns:
  String Returns the result of evaluating the new file template with the given type content.
Throws:
  `CoreException` - when fetching the file comment fails or fetching the content for the new compilation unit fails