create class from user defined template (IDEA-57230;IDEA-55689 )

This commit is contained in:
anna
2010-11-02 14:48:34 +03:00
parent a7dda86367
commit 104953ca41
2 changed files with 19 additions and 5 deletions
@@ -17,9 +17,16 @@
package com.intellij.ide.actions;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.fileTemplates.JavaTemplateUtil;
import com.intellij.ide.fileTemplates.*;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypes;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.util.Comparing;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaDirectoryService;
import com.intellij.psi.PsiClass;
@@ -49,6 +56,13 @@ public class CreateClassAction extends JavaCreateTemplateInPackageAction<PsiClas
builder.addKind("Enum", Icons.ENUM_ICON, JavaTemplateUtil.INTERNAL_ENUM_TEMPLATE_NAME);
builder.addKind("Annotation", Icons.ANNOTATION_TYPE_ICON, JavaTemplateUtil.INTERNAL_ANNOTATION_TYPE_TEMPLATE_NAME);
}
for (FileTemplate template : FileTemplateManager.getInstance().getAllTemplates()) {
final JavaCreateFromTemplateHandler handler = new JavaCreateFromTemplateHandler();
if (handler.handlesTemplate(template) && handler.canCreate(new PsiDirectory[]{directory})) {
builder.addKind(template.getName(), JavaFileType.INSTANCE.getIcon(), template.getName());
}
}
}
@Override
@@ -1,12 +1,12 @@
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${Name}{
private static ${Name} ourInstance = new ${Name}();
public class ${NAME}{
private static ${NAME} ourInstance = new ${NAME}();
public static ${Name} getInstance() {
public static ${NAME} getInstance() {
return ourInstance;
}
private ${Name}() {
private ${NAME}() {
}
}