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, waitfixSilentlygetElementToMakeWritableprotected 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()
IntentionActiongetText in interface IntentionActionIntentionAction.isAvailable(Project, Editor, PsiFile)public java.lang.String getFamilyName()
IntentionActiongetFamilyName in interface IntentionActionIntentionManager.registerIntentionAndMetaData(IntentionAction, String...)public boolean isAvailable(Project project, Editor editor, PsiFile file)
IntentionActionisAvailable in interface IntentionActionproject - 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)
IntentionActionIntentionAction.startInWriteAction() returns true, this method is also called
inside write action.invoke in interface IntentionActionproject - 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()
IntentionActionfalse 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 IntentionActionstartInWriteAction in interface WriteActionAwaretrue if the intention requires a write action, false otherwise.public boolean showHint(Editor editor)
HintActionIntentionAction.isAvailable(Project, Editor, PsiFile) is checked to be true.showHint in interface HintAction