Class NewTypeWizardPage
- 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
-
- All Implemented Interfaces:
IDialogPage
,IMessageProvider
,IWizardPage
- Direct Known Subclasses:
NewAnnotationWizardPage
,NewClassWizardPage
,NewEnumWizardPage
,NewInterfaceWizardPage
,NewModuleInfoWizardPage
,NewPackageWizardPage
,NewTestCaseWizardPageOne
,NewTestSuiteWizardPage
public abstract class NewTypeWizardPage extends NewContainerWizardPage
The classNewTypeWizardPage
contains controls and validation routines for a 'New Type WizardPage'. Implementors decide which components to add and to enable. Implementors can also customize the validation code.NewTypeWizardPage
is intended to serve as base class of all wizards that create types like applets, servlets, classes, interfaces, etc.See
NewClassWizardPage
orNewInterfaceWizardPage
for an example usage of theNewTypeWizardPage
.- Since:
- 2.0
- See Also:
NewClassWizardPage
,NewInterfaceWizardPage
,NewEnumWizardPage
,NewAnnotationWizardPage
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NewTypeWizardPage.ImportsManager
Class used in stub creation routines to add needed imports to a compilation unit.
-
Field Summary
Fields Modifier and Type Field Description static int
ANNOTATION_TYPE
Constant to signal that the created type is an annotation.static int
CLASS_TYPE
Constant to signal that the created type is a class.protected static String
ENCLOSING
Field ID of the enclosing type input field.protected static String
ENCLOSINGSELECTION
Field ID of the enclosing type checkbox.static int
ENUM_TYPE
Constant to signal that the created type is an enum.int
F_ABSTRACT
Abstract property flag.int
F_FINAL
Final access flag.int
F_PRIVATE
Private access flag.int
F_PROTECTED
Protected access flag.int
F_PUBLIC
Public access flag.int
F_STATIC
Static access flag.protected org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField
fAddCommentButton
protected IStatus
fEnclosingTypeStatus
protected IStatus
fModifierStatus
protected IStatus
fPackageStatus
protected IStatus
fSuperClassStatus
protected IStatus
fSuperInterfacesStatus
protected IStatus
fTypeNameStatus
static int
INTERFACE_TYPE
Constant to signal that the created type is a interface.protected static String
INTERFACES
Field ID of the super interfaces input field.protected static String
METHODS
Field ID of the method stubs check boxes.protected static String
MODIFIERS
Field ID of the modifier check boxes.protected static String
PACKAGE
Field ID of the package input field.protected static String
SUPER
Field ID of the super type input field.protected static String
TYPENAME
Field ID of the type name input field.-
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 NewTypeWizardPage(boolean isClass, String pageName)
Creates a newNewTypeWizardPage
.NewTypeWizardPage(int typeKind, String pageName)
Creates a newNewTypeWizardPage
.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addSuperInterface(String superInterface)
Adds a super interface to the end of the list and selects it if it is not in the list yet.protected IType
chooseEnclosingType()
Opens a selection dialog that allows to select an enclosing type.protected IPackageFragment
choosePackage()
Opens a selection dialog that allows to select a package.protected IType
chooseSuperClass()
Opens a selection dialog that allows to select a super class.protected void
chooseSuperInterfaces()
Opens a selection dialog that allows to select the super interfaces.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 IStatus
containerChanged()
This method is a hook which gets called after the source folder's text input field has changed.protected void
createCommentControls(Composite composite, int nColumns)
Creates the controls for the preference page links.protected Link
createCommentWithLinkControls(Composite composite, int nColumns, boolean isModule)
Creates the comment and link in the single line for the preference page links.protected void
createEnclosingTypeControls(Composite composite, int nColumns)
Creates the controls for the enclosing type name field.protected IMethod[]
createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor)
Creates the bodies of all unimplemented methods and constructors and adds them to the type.protected void
createModifierControls(Composite composite, int nColumns)
Creates the controls for the modifiers radio/checkbox buttons.protected void
createPackageControls(Composite composite, int nColumns)
Creates the controls for the package name field.protected void
createSeparator(Composite composite, int nColumns)
Creates a separator line.protected void
createSuperClassControls(Composite composite, int nColumns)
Creates the controls for the superclass name field.protected void
createSuperInterfacesControls(Composite composite, int nColumns)
Creates the controls for the superclass name field.void
createType(IProgressMonitor monitor)
Creates the new type using the entered field values.protected void
createTypeMembers(IType newType, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor)
Hook method that gets called fromcreateType
to support adding of unanticipated methods, fields, and inner types to the created type.protected void
createTypeNameControls(Composite composite, int nColumns)
Creates the controls for the type name field.void
enableCommentControl(boolean useAddCommentValue)
Sets to use the 'Add comment' checkbox value.protected IStatus
enclosingTypeChanged()
Hook method that gets called when the enclosing type name has changed.protected String
getCompilationUnitName(String typeName)
Hook method that is called when evaluating the name of the compilation unit to create.IType
getCreatedType()
Returns the created type ornull
is the type has not been created yet.IType
getEnclosingType()
Returns the enclosing type corresponding to the current input.protected String
getEnclosingTypeLabel()
Returns the label that is used for the enclosing type input field.String
getEnclosingTypeText()
Returns the text of the enclosing type input field.protected String
getFileComment(ICompilationUnit parentCU)
Deprecated.Instead of file templates, the new type code template specifies the stub for a compilation unit.protected String
getFileComment(ICompilationUnit parentCU, String lineDelimiter)
Hook method that gets called fromcreateType
to retrieve a file comment.IResource
getModifiedResource()
Returns the resource handle that corresponds to the compilation unit to was or will be created or modified.int
getModifiers()
Returns the selected modifiers.protected String
getModifiersLabel()
Returns the label that is used for the modifiers input field.IPackageFragment
getPackageFragment()
Returns the package fragment corresponding to the current input.protected String
getPackageLabel()
Returns the label that is used for the package input field.String
getPackageText()
Returns the text of the package input field.IRunnableWithProgress
getRunnable()
Returns the runnable that creates the type using the current settings.String
getSuperClass()
Returns the content of the superclass input field.protected String
getSuperClassLabel()
Returns the label that is used for the super class input field.List<String>
getSuperInterfaces()
Returns the chosen super interfaces.protected String
getSuperInterfacesLabel()
Returns the label that is used for the super interfaces input field.protected String
getTemplate(String name, ICompilationUnit parentCU)
Deprecated.Use getTemplate(String,ICompilationUnit,int)protected String
getTemplate(String name, ICompilationUnit parentCU, int pos)
Returns the string resulting from evaluation the given template in the context of the given compilation unit.protected String
getTypeComment(ICompilationUnit parentCU)
Deprecated.Use getTypeComment(ICompilationUnit, String)protected String
getTypeComment(ICompilationUnit parentCU, String lineDelimiter)
Hook method that gets called fromcreateType
to retrieve a type comment.String
getTypeName()
Returns the type name entered into the type input field (without the default file extensionjava
, if entered).protected String
getTypeNameLabel()
Returns the label that is used for the type name input field.protected String
getUniqueJavaTypeName(IPackageFragment pack, String name)
Generate a unique type name for some initially given name under the given package fragment.protected void
handleFieldChanged(String fieldName)
Hook method that gets called when a field on this page has changed.protected void
initTypePage(IJavaElement elem)
Initializes all fields provided by the page with a given selection.boolean
isAddComments()
Returns if comments are added.boolean
isEnclosingTypeSelected()
Returns the selection state of the enclosing type checkbox.protected IStatus
modifiersChanged()
Hook method that gets called when the modifiers have changed.protected IStatus
packageChanged()
A hook method that gets called when the package field has changed.void
setAddComments(boolean doAddComments, boolean canBeModified)
Sets 'Add comment' checkbox.void
setEnclosingType(IType type, boolean canBeModified)
Sets the enclosing type.void
setEnclosingTypeSelection(boolean isSelected, boolean canBeModified)
Sets the enclosing type checkbox's selection state.protected void
setFocus()
Sets the focus on the type name input field.void
setModifiers(int modifiers, boolean canBeModified)
Sets the modifiers.void
setPackageFragment(IPackageFragment pack, boolean canBeModified)
Sets the package fragment to the given value.void
setSuperClass(String name, boolean canBeModified)
Sets the super class name.void
setSuperInterfaces(List<String> interfacesNames, boolean canBeModified)
Sets the super interfaces.void
setTypeName(String name, boolean canBeModified)
Sets the type name input field's text to the given value.protected IStatus
superClassChanged()
Hook method that gets called when the superclass name has changed.protected IStatus
superInterfacesChanged()
Hook method that gets called when the list of super interface has changed.protected IStatus
typeNameChanged()
Hook method that gets called when the type name has changed.-
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
setVisible, 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
createControl, dispose, getControl, getDescription, getErrorMessage, getMessage, getTitle, performHelp
-
-
-
-
Field Detail
-
F_PUBLIC
public int F_PUBLIC
Public access flag. See The Java Virtual Machine Specification for more details.
-
F_PRIVATE
public int F_PRIVATE
Private access flag. See The Java Virtual Machine Specification for more details.
-
F_PROTECTED
public int F_PROTECTED
Protected access flag. See The Java Virtual Machine Specification for more details.
-
F_STATIC
public int F_STATIC
Static access flag. See The Java Virtual Machine Specification for more details.
-
F_FINAL
public int F_FINAL
Final access flag. See The Java Virtual Machine Specification for more details.
-
F_ABSTRACT
public int F_ABSTRACT
Abstract property flag. See The Java Virtual Machine Specification for more details.
-
PACKAGE
protected static final String PACKAGE
Field ID of the package input field.- See Also:
- Constant Field Values
-
ENCLOSING
protected static final String ENCLOSING
Field ID of the enclosing type input field.- See Also:
- Constant Field Values
-
ENCLOSINGSELECTION
protected static final String ENCLOSINGSELECTION
Field ID of the enclosing type checkbox.- See Also:
- Constant Field Values
-
TYPENAME
protected static final String TYPENAME
Field ID of the type name input field.- See Also:
- Constant Field Values
-
SUPER
protected static final String SUPER
Field ID of the super type input field.- See Also:
- Constant Field Values
-
INTERFACES
protected static final String INTERFACES
Field ID of the super interfaces input field.- See Also:
- Constant Field Values
-
MODIFIERS
protected static final String MODIFIERS
Field ID of the modifier check boxes.- See Also:
- Constant Field Values
-
METHODS
protected static final String METHODS
Field ID of the method stubs check boxes.- See Also:
- Constant Field Values
-
fAddCommentButton
protected org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField fAddCommentButton
- Restriction:
- This field is not intended to be referenced by clients.
-
fEnclosingTypeStatus
protected IStatus fEnclosingTypeStatus
-
fPackageStatus
protected IStatus fPackageStatus
-
fTypeNameStatus
protected IStatus fTypeNameStatus
-
fSuperClassStatus
protected IStatus fSuperClassStatus
-
fModifierStatus
protected IStatus fModifierStatus
-
fSuperInterfacesStatus
protected IStatus fSuperInterfacesStatus
-
CLASS_TYPE
public static final int CLASS_TYPE
Constant to signal that the created type is a class.- Since:
- 3.1
- See Also:
- Constant Field Values
-
INTERFACE_TYPE
public static final int INTERFACE_TYPE
Constant to signal that the created type is a interface.- Since:
- 3.1
- See Also:
- Constant Field Values
-
ENUM_TYPE
public static final int ENUM_TYPE
Constant to signal that the created type is an enum.- Since:
- 3.1
- See Also:
- Constant Field Values
-
ANNOTATION_TYPE
public static final int ANNOTATION_TYPE
Constant to signal that the created type is an annotation.- Since:
- 3.1
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NewTypeWizardPage
public NewTypeWizardPage(boolean isClass, String pageName)
Creates a newNewTypeWizardPage
.- Parameters:
isClass
-true
if a new class is to be created; otherwise an interface is to be createdpageName
- the wizard page's name
-
NewTypeWizardPage
public NewTypeWizardPage(int typeKind, String pageName)
Creates a newNewTypeWizardPage
.- Parameters:
typeKind
- Signals the kind of the type to be created. Valid kinds areCLASS_TYPE
,INTERFACE_TYPE
,ENUM_TYPE
andANNOTATION_TYPE
pageName
- the wizard page's name- Since:
- 3.1
-
-
Method Detail
-
initTypePage
protected void initTypePage(IJavaElement elem)
Initializes all fields provided by the page with a given selection.- Parameters:
elem
- the selection used to initialize this page ornull
if no selection was available
-
getUniqueJavaTypeName
protected String getUniqueJavaTypeName(IPackageFragment pack, String name)
Generate a unique type name for some initially given name under the given package fragment.- Parameters:
pack
- the package fragment under which to check for uniquenessname
- the type name to check for uniqueness- Returns:
- a type name string that is unique under the given package fragment. If the initial type name is not unique, it is suffixed with a number greater than or equal to 2.
- Since:
- 3.17
-
getPackageLabel
protected String getPackageLabel()
Returns the label that is used for the package input field.- Returns:
- the label that is used for the package input field.
- Since:
- 3.2
-
getEnclosingTypeLabel
protected String getEnclosingTypeLabel()
Returns the label that is used for the enclosing type input field.- Returns:
- the label that is used for the enclosing type input field.
- Since:
- 3.2
-
getTypeNameLabel
protected String getTypeNameLabel()
Returns the label that is used for the type name input field.- Returns:
- the label that is used for the type name input field.
- Since:
- 3.2
-
getModifiersLabel
protected String getModifiersLabel()
Returns the label that is used for the modifiers input field.- Returns:
- the label that is used for the modifiers input field
- Since:
- 3.2
-
getSuperClassLabel
protected String getSuperClassLabel()
Returns the label that is used for the super class input field.- Returns:
- the label that is used for the super class input field.
- Since:
- 3.2
-
getSuperInterfacesLabel
protected String getSuperInterfacesLabel()
Returns the label that is used for the super interfaces input field.- Returns:
- the label that is used for the super interfaces input field.
- Since:
- 3.2
-
createSeparator
protected void createSeparator(Composite composite, int nColumns)
Creates a separator line. Expects aGridLayout
with at least 1 column.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createPackageControls
protected void createPackageControls(Composite composite, int nColumns)
Creates the controls for the package name field. Expects aGridLayout
with at least 4 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createEnclosingTypeControls
protected void createEnclosingTypeControls(Composite composite, int nColumns)
Creates the controls for the enclosing type name field. Expects aGridLayout
with at least 4 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createTypeNameControls
protected void createTypeNameControls(Composite composite, int nColumns)
Creates the controls for the type name field. Expects aGridLayout
with at least 2 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createModifierControls
protected void createModifierControls(Composite composite, int nColumns)
Creates the controls for the modifiers radio/checkbox buttons. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createSuperClassControls
protected void createSuperClassControls(Composite composite, int nColumns)
Creates the controls for the superclass name field. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createSuperInterfacesControls
protected void createSuperInterfacesControls(Composite composite, int nColumns)
Creates the controls for the superclass name field. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
createCommentControls
protected void createCommentControls(Composite composite, int nColumns)
Creates the controls for the preference page links. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span- Since:
- 3.1
-
createCommentWithLinkControls
protected Link createCommentWithLinkControls(Composite composite, int nColumns, boolean isModule)
Creates the comment and link in the single line for the preference page links. Expects aGridLayout
with at least 2 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to spanisModule
- if it is module or package- Returns:
- link is returned
- Since:
- 3.18
-
setFocus
protected void setFocus()
Sets the focus on the type name input field.
-
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 classNewContainerWizardPage
- Parameters:
fieldName
- The name of the field that has changed (field id). For the source folder the field id isCONTAINER
-
getPackageText
public String getPackageText()
Returns the text of the package input field.- Returns:
- the text of the package input field
-
getEnclosingTypeText
public String getEnclosingTypeText()
Returns the text of the enclosing type input field.- Returns:
- the text of the enclosing type input field
-
getPackageFragment
public IPackageFragment getPackageFragment()
Returns the package fragment corresponding to the current input.- Returns:
- a package fragment or
null
if the input could not be resolved.
-
setPackageFragment
public void setPackageFragment(IPackageFragment pack, boolean canBeModified)
Sets the package fragment to the given value. The method updates the model and the text of the control.- Parameters:
pack
- the package fragment to be setcanBeModified
- iftrue
the package fragment is editable; otherwise it is read-only.
-
getEnclosingType
public IType getEnclosingType()
Returns the enclosing type corresponding to the current input.- Returns:
- the enclosing type or
null
if the enclosing type is not selected or the input could not be resolved
-
setEnclosingType
public void setEnclosingType(IType type, boolean canBeModified)
Sets the enclosing type. The method updates the underlying model and the text of the control.- Parameters:
type
- the enclosing typecanBeModified
- iftrue
the enclosing type field is editable; otherwise it is read-only.
-
isEnclosingTypeSelected
public boolean isEnclosingTypeSelected()
Returns the selection state of the enclosing type checkbox.- Returns:
- the selection state of the enclosing type checkbox
-
setEnclosingTypeSelection
public void setEnclosingTypeSelection(boolean isSelected, boolean canBeModified)
Sets the enclosing type checkbox's selection state.- Parameters:
isSelected
- the checkbox's selection statecanBeModified
- iftrue
the enclosing type checkbox is modifiable; otherwise it is read-only.
-
getTypeName
public String getTypeName()
Returns the type name entered into the type input field (without the default file extensionjava
, if entered).- Returns:
- the type name
-
setTypeName
public void setTypeName(String name, boolean canBeModified)
Sets the type name input field's text to the given value. Method doesn't update the model.- Parameters:
name
- the new type namecanBeModified
- iftrue
the type name field is editable; otherwise it is read-only.
-
getModifiers
public int getModifiers()
Returns the selected modifiers.- Returns:
- the selected modifiers
- See Also:
Flags
-
setModifiers
public void setModifiers(int modifiers, boolean canBeModified)
Sets the modifiers.- Parameters:
modifiers
-F_PUBLIC
,F_PRIVATE
,F_PROTECTED
,F_ABSTRACT
,F_FINAL
orF_STATIC
or a valid combination.canBeModified
- iftrue
the modifier fields are editable; otherwise they are read-only- See Also:
Flags
-
getSuperClass
public String getSuperClass()
Returns the content of the superclass input field.- Returns:
- the superclass name
-
setSuperClass
public void setSuperClass(String name, boolean canBeModified)
Sets the super class name.- Parameters:
name
- the new superclass namecanBeModified
- iftrue
the superclass name field is editable; otherwise it is read-only.
-
getSuperInterfaces
public List<String> getSuperInterfaces()
Returns the chosen super interfaces.- Returns:
- a list of chosen super interfaces. The list's elements
are of type
String
-
setSuperInterfaces
public void setSuperInterfaces(List<String> interfacesNames, boolean canBeModified)
Sets the super interfaces.- Parameters:
interfacesNames
- a list of super interface. The method requires that the list's elements are of typeString
canBeModified
- iftrue
the super interface field is editable; otherwise it is read-only.
-
addSuperInterface
public boolean addSuperInterface(String superInterface)
Adds a super interface to the end of the list and selects it if it is not in the list yet.- Parameters:
superInterface
- the fully qualified type name of the interface.- Returns:
- returns
true
if the interfaces has been added,false
if the interface already is in the list. - Since:
- 3.2
-
setAddComments
public void setAddComments(boolean doAddComments, boolean canBeModified)
Sets 'Add comment' checkbox. The value set will only be used when creating source when the comment control is enabled (seeenableCommentControl(boolean)
- Parameters:
doAddComments
- iftrue
, comments are added.canBeModified
- iftrue
check box is editable; otherwise it is read-only.- Since:
- 3.1
-
enableCommentControl
public void enableCommentControl(boolean useAddCommentValue)
Sets to use the 'Add comment' checkbox value. Clients that use the 'Add comment' checkbox additionally have to enable the control. This has been added for backwards compatibility.- Parameters:
useAddCommentValue
- iftrue
,- Since:
- 3.1
-
isAddComments
public boolean isAddComments()
Returns if comments are added. This method can be overridden by clients. The selection of the comment control is taken if enabled (seeenableCommentControl(boolean)
, otherwise the settings as specified in the preferences is used.- Returns:
- Returns
true
if comments can be added - Since:
- 3.1
-
getModifiedResource
public IResource getModifiedResource()
Returns the resource handle that corresponds to the compilation unit to was or will be created or modified.- Returns:
- A resource or null if the page contains illegal values.
- Since:
- 3.0
-
containerChanged
protected IStatus containerChanged()
Description copied from class:NewContainerWizardPage
This method is a hook which gets called after the source folder's text input field has changed. This default implementation updates the model and returns an error status. The underlying model is only valid if the returned status is OK.- Overrides:
containerChanged
in classNewContainerWizardPage
- Returns:
- the model's error status
-
packageChanged
protected IStatus packageChanged()
A hook method that gets called when the package field has changed. The method validates the package name and returns the status of the validation. The validation also updates the package fragment model.Subclasses may extend this method to perform their own validation.
- Returns:
- the status of the validation
-
enclosingTypeChanged
protected IStatus enclosingTypeChanged()
Hook method that gets called when the enclosing type name has changed. The method validates the enclosing type and returns the status of the validation. It also updates the enclosing type model.Subclasses may extend this method to perform their own validation.
- Returns:
- the status of the validation
-
getCompilationUnitName
protected String getCompilationUnitName(String typeName)
Hook method that is called when evaluating the name of the compilation unit to create. By default, a file extensionjava
is added to the given type name, but implementors can override this behavior.- Parameters:
typeName
- the name of the type to create the compilation unit for.- Returns:
- the name of the compilation unit to be created for the given name
- Since:
- 3.2
-
typeNameChanged
protected IStatus typeNameChanged()
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.
- Returns:
- the status of the validation
-
superClassChanged
protected IStatus superClassChanged()
Hook method that gets called when the superclass name has changed. The method validates the superclass name and returns the status of the validation.Subclasses may extend this method to perform their own validation.
- Returns:
- the status of the validation
-
superInterfacesChanged
protected IStatus superInterfacesChanged()
Hook method that gets called when the list of super interface has changed. The method validates the super interfaces and returns the status of the validation.Subclasses may extend this method to perform their own validation.
- Returns:
- the status of the validation
-
modifiersChanged
protected IStatus modifiersChanged()
Hook method that gets called when the modifiers have changed. The method validates the modifiers and returns the status of the validation.Subclasses may extend this method to perform their own validation.
- Returns:
- the status of the validation
-
choosePackage
protected IPackageFragment choosePackage()
Opens a selection dialog that allows to select a package.- Returns:
- returns the selected package or
null
if the dialog has been canceled. The caller typically sets the result to the package input field.Clients can override this method if they want to offer a different dialog.
- Since:
- 3.2
-
chooseEnclosingType
protected IType chooseEnclosingType()
Opens a selection dialog that allows to select an enclosing type.- Returns:
- returns the selected type or
null
if the dialog has been canceled. The caller typically sets the result to the enclosing type input field.Clients can override this method if they want to offer a different dialog.
- Since:
- 3.2
-
chooseSuperClass
protected IType chooseSuperClass()
Opens a selection dialog that allows to select a super class.- Returns:
- returns the selected type or
null
if the dialog has been canceled. The caller typically sets the result to the super class input field.Clients can override this method if they want to offer a different dialog.
- Since:
- 3.2
-
chooseSuperInterfaces
protected void chooseSuperInterfaces()
Opens a selection dialog that allows to select the super interfaces. The selected interfaces are directly added to the wizard page usingaddSuperInterface(String)
.Clients can override this method if they want to offer a different dialog.
- Since:
- 3.2
-
createType
public void createType(IProgressMonitor monitor) throws CoreException, InterruptedException
Creates the new type using the entered field values.- Parameters:
monitor
- a progress monitor to report progress.- Throws:
CoreException
- Thrown when the creation failed.InterruptedException
- Thrown when the operation was canceled.
-
constructCUContent
protected String constructCUContent(ICompilationUnit cu, String typeContent, String lineDelimiter) throws CoreException
Uses the New Java file template from the code template page to generate a compilation unit with the given type content.- Parameters:
cu
- The new created compilation unittypeContent
- 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- Since:
- 2.1
-
getCreatedType
public IType getCreatedType()
Returns the created type ornull
is the type has not been created yet. The method only returns a valid type aftercreateType
has been called.- Returns:
- the created type
- See Also:
createType(IProgressMonitor)
-
createTypeMembers
protected void createTypeMembers(IType newType, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor) throws CoreException
Hook method that gets called fromcreateType
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.
- Parameters:
newType
- the new type created viacreateType
imports
- an import manager which can be used to add new importsmonitor
- a progress monitor to report progress. Must not benull
- Throws:
CoreException
- thrown when creation of the type members failed- See Also:
createType(IProgressMonitor)
-
getFileComment
@Deprecated protected String getFileComment(ICompilationUnit parentCU)
Deprecated.Instead of file templates, the new type code template specifies the stub for a compilation unit.- Parameters:
parentCU
- the current compilation unit- Returns:
- returns the file template or
null
-
getFileComment
protected String getFileComment(ICompilationUnit parentCU, String lineDelimiter) throws CoreException
Hook method that gets called fromcreateType
to retrieve a file comment. This default implementation returns the content of the 'file comment' template ornull
if no comment should be created.- Parameters:
parentCU
- the parent compilation unitlineDelimiter
- the line delimiter to use- Returns:
- the file comment or
null
if a file comment is not desired - Throws:
CoreException
- when fetching the file comment fails- Since:
- 3.1
-
getTypeComment
protected String getTypeComment(ICompilationUnit parentCU, String lineDelimiter)
Hook method that gets called fromcreateType
to retrieve a type comment. This default implementation returns the content of the 'type comment' template.- Parameters:
parentCU
- the parent compilation unitlineDelimiter
- the line delimiter to use- Returns:
- the type comment or
null
if a type comment is not desired - Since:
- 3.0
-
getTypeComment
@Deprecated protected String getTypeComment(ICompilationUnit parentCU)
Deprecated.Use getTypeComment(ICompilationUnit, String)- Parameters:
parentCU
- the current compilation unit- Returns:
- returns the template or
null
-
getTemplate
@Deprecated protected String getTemplate(String name, ICompilationUnit parentCU)
Deprecated.Use getTemplate(String,ICompilationUnit,int)- Parameters:
name
- the name of the templateparentCU
- the current compilation unit- Returns:
- returns the template or
null
-
getTemplate
protected String getTemplate(String name, ICompilationUnit parentCU, int pos)
Returns the string resulting from evaluation the given template in the context of the given compilation unit. This accesses the normal template page, not the code templates. To use code templates useconstructCUContent
to construct a compilation unit stub or getTypeComment for the comment of the type.- Parameters:
name
- the template to be evaluatedparentCU
- the templates evaluation contextpos
- a source offset into the parent compilation unit. The template is evaluated at the given source offset- Returns:
- return the template with the given name or
null
if the template could not be found.
-
createInheritedMethods
protected IMethod[] createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor) throws CoreException
Creates the bodies of all unimplemented methods and constructors and adds them to the type. Method is typically called by implementers ofNewTypeWizardPage
to add needed method and constructors.- Parameters:
type
- the type for which the new methods and constructor are to be createddoConstructors
- iftrue
unimplemented constructors are createddoUnimplementedMethods
- iftrue
unimplemented methods are createdimports
- an import manager to add all needed import statementsmonitor
- a progress monitor to report progress- Returns:
- the created methods.
- Throws:
CoreException
- thrown when the creation fails.
-
getRunnable
public IRunnableWithProgress getRunnable()
Returns the runnable that creates the type using the current settings. The returned runnable must be executed in the UI thread.- Returns:
- the runnable to create the new type
-
-