public abstract class StaticImportMemberFix<T extends PsiMember,R extends PsiElement> extends java.lang.Object implements IntentionAction, HintAction
Modifier and Type | Field and Description |
---|---|
protected SmartPsiElementPointer<R> |
myRef |
EMPTY_ARRAY
Modifier and Type | Method and Description |
---|---|
protected abstract QuestionAction |
createQuestionAction(java.util.List<? extends T> methodsToImport,
Project project,
Editor editor) |
protected abstract java.lang.String |
getBaseText() |
protected abstract PsiElement |
getElement() |
java.lang.String |
getFamilyName()
Returns the name of the family of intentions.
|
protected abstract java.lang.String |
getMemberPresentableText(T t) |
protected abstract java.util.List<T> |
getMembersToImport(boolean applicableOnly,
StaticMembersProcessor.SearchMode mode) |
protected abstract PsiElement |
getQualifierExpression() |
java.lang.String |
getText()
Returns text to be shown in the list of available actions, if this action
is available.
|
void |
invoke(Project project,
Editor editor,
PsiFile file)
Called when user invokes intention.
|
boolean |
isAvailable(Project project,
Editor editor,
PsiFile file)
Checks whether this intention is available at a caret offset in the file.
|
static boolean |
isExcluded(PsiMember method) |
protected abstract PsiElement |
resolveRef() |
boolean |
showHint(Editor editor)
Show a popup or perform an automatic action in the given editor.
|
boolean |
startInWriteAction()
Indicate whether this action should be invoked inside write action.
|
protected abstract boolean |
toAddStaticImports() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fixSilently
getElementToMakeWritable
protected final SmartPsiElementPointer<R extends PsiElement> myRef
protected abstract java.lang.String getBaseText()
protected abstract java.lang.String getMemberPresentableText(T t)
public java.lang.String getText()
IntentionAction
getText
in interface IntentionAction
IntentionAction.isAvailable(Project, Editor, PsiFile)
public java.lang.String getFamilyName()
IntentionAction
getFamilyName
in interface IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
public boolean isAvailable(Project project, Editor editor, PsiFile file)
IntentionAction
isAvailable
in interface IntentionAction
project
- the project in which the availability is checked.editor
- the editor in which the intention will be invoked.file
- the file open in the editor.true
if the intention is available, false
otherwise.protected abstract java.util.List<T> getMembersToImport(boolean applicableOnly, StaticMembersProcessor.SearchMode mode)
protected abstract boolean toAddStaticImports()
public static boolean isExcluded(PsiMember method)
protected abstract QuestionAction createQuestionAction(java.util.List<? extends T> methodsToImport, Project project, Editor editor)
protected abstract PsiElement getElement()
protected abstract PsiElement getQualifierExpression()
protected abstract PsiElement resolveRef()
public void invoke(Project project, Editor editor, PsiFile file)
IntentionAction
IntentionAction.startInWriteAction()
returns true
, this method is also called
inside write action.invoke
in interface IntentionAction
project
- the project in which the intention is invoked.editor
- the editor in which the intention is invoked.file
- the file open in the editor.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
true
if the intention requires a write action, false
otherwise.public boolean showHint(Editor editor)
HintAction
IntentionAction.isAvailable(Project, Editor, PsiFile)
is checked to be true
.showHint
in interface HintAction