public abstract class PriorityActionWrapper extends LocalQuickFixAndIntentionActionOnPsiElement
LOG, myEndElement, myStartElement
EMPTY_ARRAY
EMPTY_ARRAY
Modifier and Type | Method and Description |
---|---|
PsiElement |
getElementToMakeWritable(PsiFile file)
Controls whether this intention/fix is going to modify the current file.
|
java.lang.String |
getFamilyName()
Returns the name of the family of intentions.
|
java.lang.String |
getText()
Returns text to be shown in the list of available actions, if this action
is available.
|
void |
invoke(Project project,
PsiFile file,
Editor editor,
PsiElement startElement,
PsiElement endElement)
Performs the action.
|
boolean |
isAvailable(Project project,
PsiFile file,
PsiElement startElement,
PsiElement endElement) |
static LocalQuickFixAndIntentionActionOnPsiElement |
lowPriority(PsiElement element,
LocalQuickFixAndIntentionActionOnPsiElement fix) |
boolean |
startInWriteAction()
Indicate whether this action should be invoked inside write action.
|
invoke, invoke, isAvailable, isAvailable
applyFix, applyFix, getEndElement, getName, getStartElement, isAvailable
public java.lang.String getFamilyName()
IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
public boolean isAvailable(Project project, PsiFile file, PsiElement startElement, PsiElement endElement)
isAvailable
in class LocalQuickFixOnPsiElement
public void invoke(Project project, PsiFile file, Editor editor, PsiElement startElement, PsiElement endElement)
LocalQuickFixAndIntentionActionOnPsiElement
invoke
in class LocalQuickFixAndIntentionActionOnPsiElement
editor
- the editor where the action is invoked or null
if it's invoked from batch inspections results' tool window.public boolean startInWriteAction()
IntentionAction
false
if, e.g., a modal dialog is shown inside the action.
If false is returned the action itself is responsible for starting write action
when needed, by calling Application.runWriteAction(Runnable)
.startInWriteAction
in interface IntentionAction
startInWriteAction
in interface WriteActionAware
startInWriteAction
in class LocalQuickFixAndIntentionActionOnPsiElement
true
if the intention requires a write action, false
otherwise.public PsiElement getElementToMakeWritable(PsiFile file)
FileModifier
@NotNull
, and the current file is read-only,
it will be made writable (honoring version control integration) before the intention/fix is invoked.
By default, as a heuristic, returns the same as WriteActionAware.startInWriteAction()
.
If the action is going to modify multiple files, or the set of the files is unknown in advance, please
don't bother overriding this method, return false
from WriteActionAware.startInWriteAction()
, and call FileModificationService
methods in the implementation, and take write actions yourself as needed.file
- the same file where intention would be invoked (for LocalQuickFix
it would be the containing file of ProblemDescriptor.getPsiElement()
)public java.lang.String getText()
IntentionAction
getText
in interface IntentionAction
getText
in class LocalQuickFixOnPsiElement
IntentionAction.isAvailable(Project, Editor, PsiFile)
public static LocalQuickFixAndIntentionActionOnPsiElement lowPriority(PsiElement element, LocalQuickFixAndIntentionActionOnPsiElement fix)