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,NewRecordWizardPage,NewTestCaseWizardPageOne,NewTestSuiteWizardPage
public abstract class NewTypeWizardPage extends NewContainerWizardPage
The classNewTypeWizardPagecontains 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.NewTypeWizardPageis intended to serve as base class of all wizards that create types like applets, servlets, classes, interfaces, etc.See
NewClassWizardPageorNewInterfaceWizardPagefor 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 classNewTypeWizardPage.ImportsManagerClass used in stub creation routines to add needed imports to a compilation unit.
-
Field Summary
Fields Modifier and Type Field Description static intANNOTATION_TYPEConstant to signal that the created type is an annotation.static intCLASS_TYPEConstant to signal that the created type is a class.protected static StringENCLOSINGField ID of the enclosing type input field.protected static StringENCLOSINGSELECTIONField ID of the enclosing type checkbox.static intENUM_TYPEConstant to signal that the created type is an enum.intF_ABSTRACTAbstract property flag.intF_FINALFinal access flag.intF_PRIVATEPrivate access flag.intF_PROTECTEDProtected access flag.intF_PUBLICPublic access flag.intF_STATICStatic access flag.protected org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogFieldfAddCommentButtonprotected IStatusfEnclosingTypeStatusprotected IStatusfModifierStatusprotected IStatusfPackageStatusprotected IStatusfSuperClassStatusprotected IStatusfSuperInterfacesStatusprotected IStatusfTypeNameStatusstatic intINTERFACE_TYPEConstant to signal that the created type is a interface.protected static StringINTERFACESField ID of the super interfaces input field.protected static StringMETHODSField ID of the method stubs check boxes.protected static StringMODIFIERSField ID of the modifier check boxes.protected static StringPACKAGEField ID of the package input field.static intRECORD_TYPEConstant to signal that the created type is an record.protected static StringSUPERField ID of the super type input field.protected static StringTYPENAMEField 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 booleanaddSuperInterface(String superInterface)Adds a super interface to the end of the list and selects it if it is not in the list yet.protected ITypechooseEnclosingType()Opens a selection dialog that allows to select an enclosing type.protected IPackageFragmentchoosePackage()Opens a selection dialog that allows to select a package.protected ITypechooseSuperClass()Opens a selection dialog that allows to select a super class.protected voidchooseSuperInterfaces()Opens a selection dialog that allows to select the super interfaces.protected StringconstructCUContent(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 IStatuscontainerChanged()This method is a hook which gets called after the source folder's text input field has changed.protected voidcreateCommentControls(Composite composite, int nColumns)Creates the controls for the preference page links.protected LinkcreateCommentWithLinkControls(Composite composite, int nColumns, boolean isModule)Creates the comment and link in the single line for the preference page links.protected voidcreateEnclosingTypeControls(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 voidcreateModifierControls(Composite composite, int nColumns)Creates the controls for the modifiers radio/checkbox buttons.protected voidcreatePackageControls(Composite composite, int nColumns)Creates the controls for the package name field.protected voidcreateSeparator(Composite composite, int nColumns)Creates a separator line.protected voidcreateSuperClassControls(Composite composite, int nColumns)Creates the controls for the superclass name field.protected voidcreateSuperInterfacesControls(Composite composite, int nColumns)Creates the controls for the superclass name field.voidcreateType(IProgressMonitor monitor)Creates the new type using the entered field values.protected voidcreateTypeMembers(IType newType, NewTypeWizardPage.ImportsManager imports, IProgressMonitor monitor)Hook method that gets called fromcreateTypeto support adding of unanticipated methods, fields, and inner types to the created type.protected voidcreateTypeNameControls(Composite composite, int nColumns)Creates the controls for the type name field.voidenableCommentControl(boolean useAddCommentValue)Sets to use the 'Add comment' checkbox value.protected IStatusenclosingTypeChanged()Hook method that gets called when the enclosing type name has changed.protected StringgetCompilationUnitName(String typeName)Hook method that is called when evaluating the name of the compilation unit to create.ITypegetCreatedType()Returns the created type ornullis the type has not been created yet.ITypegetEnclosingType()Returns the enclosing type corresponding to the current input.protected StringgetEnclosingTypeLabel()Returns the label that is used for the enclosing type input field.StringgetEnclosingTypeText()Returns the text of the enclosing type input field.protected StringgetFileComment(ICompilationUnit parentCU)Deprecated.Instead of file templates, the new type code template specifies the stub for a compilation unit.protected StringgetFileComment(ICompilationUnit parentCU, String lineDelimiter)Hook method that gets called fromcreateTypeto retrieve a file comment.IResourcegetModifiedResource()Returns the resource handle that corresponds to the compilation unit to was or will be created or modified.intgetModifiers()Returns the selected modifiers.protected StringgetModifiersLabel()Returns the label that is used for the modifiers input field.IPackageFragmentgetPackageFragment()Returns the package fragment corresponding to the current input.protected StringgetPackageLabel()Returns the label that is used for the package input field.StringgetPackageText()Returns the text of the package input field.IRunnableWithProgressgetRunnable()Returns the runnable that creates the type using the current settings.StringgetSuperClass()Returns the content of the superclass input field.protected StringgetSuperClassLabel()Returns the label that is used for the super class input field.List<String>getSuperInterfaces()Returns the chosen super interfaces.protected StringgetSuperInterfacesLabel()Returns the label that is used for the super interfaces input field.protected StringgetTemplate(String name, ICompilationUnit parentCU)Deprecated.Use getTemplate(String,ICompilationUnit,int)protected StringgetTemplate(String name, ICompilationUnit parentCU, int pos)Returns the string resulting from evaluation the given template in the context of the given compilation unit.protected StringgetTypeComment(ICompilationUnit parentCU)Deprecated.Use getTypeComment(ICompilationUnit, String)protected StringgetTypeComment(ICompilationUnit parentCU, String lineDelimiter)Hook method that gets called fromcreateTypeto retrieve a type comment.StringgetTypeName()Returns the type name entered into the type input field (without the default file extensionjava, if entered).protected StringgetTypeNameLabel()Returns the label that is used for the type name input field.protected StringgetUniqueJavaTypeName(IPackageFragment pack, String name)Generate a unique type name for some initially given name under the given package fragment.protected voidhandleFieldChanged(String fieldName)Hook method that gets called when a field on this page has changed.protected voidinitTypePage(IJavaElement elem)Initializes all fields provided by the page with a given selection.booleanisAddComments()Returns if comments are added.booleanisEnclosingTypeSelected()Returns the selection state of the enclosing type checkbox.protected IStatusmodifiersChanged()Hook method that gets called when the modifiers have changed.protected IStatuspackageChanged()A hook method that gets called when the package field has changed.voidsetAddComments(boolean doAddComments, boolean canBeModified)Sets 'Add comment' checkbox.voidsetEnclosingType(IType type, boolean canBeModified)Sets the enclosing type.voidsetEnclosingTypeSelection(boolean isSelected, boolean canBeModified)Sets the enclosing type checkbox's selection state.protected voidsetFocus()Sets the focus on the type name input field.voidsetModifiers(int modifiers, boolean canBeModified)Sets the modifiers.voidsetPackageFragment(IPackageFragment pack, boolean canBeModified)Sets the package fragment to the given value.voidsetSuperClass(String name, boolean canBeModified)Sets the super class name.voidsetSuperInterfaces(List<String> interfacesNames, boolean canBeModified)Sets the super interfaces.voidsetTypeName(String name, boolean canBeModified)Sets the type name input field's text to the given value.protected IStatussuperClassChanged()Hook method that gets called when the superclass name has changed.protected IStatussuperInterfacesChanged()Hook method that gets called when the list of super interface has changed.protected IStatustypeNameChanged()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
-
RECORD_TYPE
public static final int RECORD_TYPE
Constant to signal that the created type is an record.- Since:
- 3.21
- See Also:
- Constant Field Values
- Restriction:
- This field is not intended to be referenced by clients.
-
-
Constructor Detail
-
NewTypeWizardPage
public NewTypeWizardPage(boolean isClass, String pageName)Creates a newNewTypeWizardPage.- Parameters:
isClass-trueif 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_TYPEandANNOTATION_TYPEpageName- 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 ornullif 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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 aGridLayoutwith 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:NewContainerWizardPageHook 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:
handleFieldChangedin 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
nullif 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- iftruethe 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
nullif 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- iftruethe 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- iftruethe 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- iftruethe 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_FINALorF_STATICor a valid combination.canBeModified- iftruethe 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- iftruethe 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 typeStringcanBeModified- iftruethe 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
trueif the interfaces has been added,falseif 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- iftruecheck 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
trueif 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:NewContainerWizardPageThis 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:
containerChangedin 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 extensionjavais 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
nullif 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
nullif 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
nullif 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 ornullis the type has not been created yet. The method only returns a valid type aftercreateTypehas 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 fromcreateTypeto support adding of unanticipated methods, fields, and inner types to the created type.Implementers can use any methods defined on
ITypeto 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 viacreateTypeimports- 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 fromcreateTypeto retrieve a file comment. This default implementation returns the content of the 'file comment' template ornullif no comment should be created.- Parameters:
parentCU- the parent compilation unitlineDelimiter- the line delimiter to use- Returns:
- the file comment or
nullif 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 fromcreateTypeto 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
nullif 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 useconstructCUContentto 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
nullif 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 ofNewTypeWizardPageto add needed method and constructors.- Parameters:
type- the type for which the new methods and constructor are to be createddoConstructors- iftrueunimplemented constructors are createddoUnimplementedMethods- iftrueunimplemented 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
-
-