Class ChangeCorrectionProposal
- java.lang.Object
-
- org.eclipse.jdt.core.manipulation.ChangeCorrectionProposalCore
-
- org.eclipse.jdt.ui.text.java.correction.ChangeCorrectionProposal
-
- All Implemented Interfaces:
ICommandAccess
,IJavaCompletionProposal
,ICompletionProposal
,ICompletionProposalExtension5
,ICompletionProposalExtension6
- Direct Known Subclasses:
CUCorrectionProposal
public class ChangeCorrectionProposal extends ChangeCorrectionProposalCore implements IJavaCompletionProposal, ICommandAccess, ICompletionProposalExtension5, ICompletionProposalExtension6
Implementation of a Java completion proposal to be used for quick fix and quick assist proposals that are based on aChange
. The proposal offers additional proposal information (based on theChange
).- Since:
- 3.8
-
-
Field Summary
-
Fields inherited from class org.eclipse.jdt.core.manipulation.ChangeCorrectionProposalCore
fChange, fName, fRelevance
-
Fields inherited from interface org.eclipse.jdt.ui.text.java.correction.ICommandAccess
ASSIST_SUFFIX, COMMAND_ID_PREFIX
-
-
Constructor Summary
Constructors Constructor Description ChangeCorrectionProposal(String name, Change change, int relevance)
Constructs a change correction proposal.ChangeCorrectionProposal(String name, Change change, int relevance, Image image)
Constructs a change correction proposal.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
apply(IDocument document)
String
getAdditionalProposalInfo()
Change
getChange()
Returns the change that will be executed when the proposal is applied.String
getCommandId()
Returns the id of the command that should invoke this correction proposal.IContextInformation
getContextInformation()
String
getDisplayString()
Image
getImage()
Point
getSelection(IDocument document)
StyledString
getStyledDisplayString()
protected void
performChange(IEditorPart activeEditor, IDocument document)
Performs the change associated with this proposal.void
setCommandId(String commandId)
Set the proposal id to allow assigning a shortcut to the correction proposal.void
setImage(Image image)
Sets the proposal's image ornull
if no image is desired.-
Methods inherited from class org.eclipse.jdt.core.manipulation.ChangeCorrectionProposalCore
apply, createChange, getAdditionalProposalInfo, getName, getRelevance, performChange, setDisplayName, setRelevance
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.jface.text.contentassist.ICompletionProposalExtension5
getAdditionalProposalInfo
-
Methods inherited from interface org.eclipse.jdt.ui.text.java.IJavaCompletionProposal
getRelevance
-
-
-
-
Constructor Detail
-
ChangeCorrectionProposal
public ChangeCorrectionProposal(String name, Change change, int relevance, Image image)
Constructs a change correction proposal.- Parameters:
name
- the name that is displayed in the proposal selection dialogchange
- the change that is executed when the proposal is applied ornull
if the change will be created by implementors ofChangeCorrectionProposalCore.createChange()
relevance
- the relevance of this proposalimage
- the image that is displayed for this proposal ornull
if no image is desired
-
ChangeCorrectionProposal
public ChangeCorrectionProposal(String name, Change change, int relevance)
Constructs a change correction proposal. Uses the default image for this proposal.- Parameters:
name
- The name that is displayed in the proposal selection dialog.change
- The change that is executed when the proposal is applied ornull
if the change will be created by implementors ofChangeCorrectionProposalCore.createChange()
.relevance
- The relevance of this proposal.
-
-
Method Detail
-
apply
public void apply(IDocument document)
- Specified by:
apply
in interfaceICompletionProposal
-
performChange
protected void performChange(IEditorPart activeEditor, IDocument document) throws CoreException
Performs the change associated with this proposal.Subclasses may extend, but must call the super implementation.
- Parameters:
activeEditor
- the editor currently active ornull
if no editor is activedocument
- the document of the editor currently active ornull
if no editor is visible- Throws:
CoreException
- when the invocation of the change failed
-
getAdditionalProposalInfo
public String getAdditionalProposalInfo()
- Specified by:
getAdditionalProposalInfo
in interfaceICompletionProposal
-
getContextInformation
public IContextInformation getContextInformation()
- Specified by:
getContextInformation
in interfaceICompletionProposal
-
getDisplayString
public String getDisplayString()
- Specified by:
getDisplayString
in interfaceICompletionProposal
-
getStyledDisplayString
public StyledString getStyledDisplayString()
- Specified by:
getStyledDisplayString
in interfaceICompletionProposalExtension6
-
getImage
public Image getImage()
- Specified by:
getImage
in interfaceICompletionProposal
-
getSelection
public Point getSelection(IDocument document)
- Specified by:
getSelection
in interfaceICompletionProposal
-
setImage
public void setImage(Image image)
Sets the proposal's image ornull
if no image is desired.- Parameters:
image
- the desired image.
-
getChange
public final Change getChange() throws CoreException
Returns the change that will be executed when the proposal is applied. This method callsChangeCorrectionProposalCore.createChange()
to compute the change.- Overrides:
getChange
in classChangeCorrectionProposalCore
- Returns:
- the change for this proposal, can be
null
in rare cases if creation of the change failed - Throws:
CoreException
- when the change could not be created
-
getCommandId
public String getCommandId()
Description copied from interface:ICommandAccess
Returns the id of the command that should invoke this correction proposal.- Specified by:
getCommandId
in interfaceICommandAccess
- Returns:
- the id of the command or
null
if this proposal does not have a command. This id must start withICommandAccess.COMMAND_ID_PREFIX
to be recognized as a correction command. In addition, the id must end withICommandAccess.ASSIST_SUFFIX
to be recognized as a quick assist command.
-
setCommandId
public void setCommandId(String commandId)
Set the proposal id to allow assigning a shortcut to the correction proposal.- Parameters:
commandId
- The proposal id for this proposal ornull
if no command should be assigned to this proposal.
-
-