public class CreateSubclassAction extends BaseIntentionAction
EMPTY_ARRAY
Constructor and Description |
---|
CreateSubclassAction() |
Modifier and Type | Method and Description |
---|---|
protected static void |
chooseAndImplement(PsiClass psiClass,
Project project,
PsiClass targetClass,
Editor editor) |
protected static void |
chooseAndImplement(PsiClass psiClass,
Project project,
PsiClass targetClass,
Editor editor,
boolean showChooser) |
static CreateClassDialog |
chooseSubclassToCreate(PsiClass psiClass) |
static CreateClassDialog |
chooseSubclassToCreate(PsiClass psiClass,
java.lang.String targetClassName) |
static void |
createInnerClass(PsiClass aClass) |
static PsiClass |
createSubclass(PsiClass psiClass,
PsiDirectory targetDirectory,
java.lang.String className) |
static PsiClass |
createSubclass(PsiClass psiClass,
PsiDirectory targetDirectory,
java.lang.String className,
boolean showChooser) |
protected void |
createTopLevelClass(PsiClass psiClass) |
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.
|
protected static java.lang.String |
getTitle(PsiClass psiClass) |
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.
|
protected boolean |
isSupportedLanguage(PsiClass aClass) |
boolean |
startInWriteAction()
Indicate whether this action should be invoked inside write action.
|
static java.lang.String |
suggestTargetClassName(PsiClass psiClass) |
canModify, setText, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getElementToMakeWritable
public java.lang.String getText()
IntentionAction
getText
in interface IntentionAction
getText
in class BaseIntentionAction
IntentionAction.isAvailable(Project, Editor, PsiFile)
public java.lang.String getFamilyName()
IntentionAction
IntentionManager.registerIntentionAndMetaData(IntentionAction, String...)
public boolean isAvailable(Project project, Editor editor, PsiFile file)
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 boolean isSupportedLanguage(PsiClass aClass)
protected static java.lang.String getTitle(PsiClass psiClass)
public void invoke(Project project, Editor editor, PsiFile file) throws IncorrectOperationException
IntentionAction
IntentionAction.startInWriteAction()
returns true
, this method is also called
inside write action.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.IncorrectOperationException
public static void createInnerClass(PsiClass aClass)
protected void createTopLevelClass(PsiClass psiClass)
public static CreateClassDialog chooseSubclassToCreate(PsiClass psiClass)
public static CreateClassDialog chooseSubclassToCreate(PsiClass psiClass, java.lang.String targetClassName)
public static java.lang.String suggestTargetClassName(PsiClass psiClass)
public static PsiClass createSubclass(PsiClass psiClass, PsiDirectory targetDirectory, java.lang.String className)
public static PsiClass createSubclass(PsiClass psiClass, PsiDirectory targetDirectory, java.lang.String className, boolean showChooser)
protected static void chooseAndImplement(PsiClass psiClass, Project project, PsiClass targetClass, Editor editor)
protected static void chooseAndImplement(PsiClass psiClass, Project project, PsiClass targetClass, Editor editor, boolean showChooser)
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 BaseIntentionAction
true
if the intention requires a write action, false
otherwise.