singleton instances for internal file types
authorMaxim.Mossienko <Maxim.Mossienko@jetbrains.com>
Fri, 5 Dec 2014 09:56:49 +0000 (10:56 +0100)
committerMaxim.Mossienko <Maxim.Mossienko@jetbrains.com>
Fri, 5 Dec 2014 12:05:30 +0000 (13:05 +0100)
platform/platform-api/src/com/intellij/ide/highlighter/WorkspaceFileType.java
platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/InternalFileTypeFactory.java
platform/projectModel-api/src/com/intellij/ide/highlighter/ModuleFileType.java
platform/projectModel-api/src/com/intellij/ide/highlighter/ProjectFileType.java

index bff9dc107e43160fdea833313e309e14f80c232b..3d1f3b9d2dea4e7402b87d4b979309fed84ba41e 100644 (file)
@@ -26,9 +26,13 @@ import org.jetbrains.annotations.NotNull;
 import javax.swing.*;
 
 public class WorkspaceFileType implements InternalFileType {
+  public static final WorkspaceFileType INSTANCE = new WorkspaceFileType();
+
   @NonNls public static final String DEFAULT_EXTENSION = "iws";
   @NonNls public static final String DOT_DEFAULT_EXTENSION = "." + DEFAULT_EXTENSION;
 
+  private WorkspaceFileType() {}
+
   @Override
   @NotNull
   public String getName() {
index 5224b1309f4d42f4659e3dac97aae0186c2335c9..b7cf3ec1e3064ed66ea4c2b7d3a57a30277af542 100644 (file)
@@ -27,8 +27,8 @@ import org.jetbrains.annotations.NotNull;
  */
 public class InternalFileTypeFactory extends FileTypeFactory {
   public void createFileTypes(@NotNull final FileTypeConsumer consumer) {
-    consumer.consume(new WorkspaceFileType(), WorkspaceFileType.DEFAULT_EXTENSION);
-    consumer.consume(new ModuleFileType(), ModuleFileType.DEFAULT_EXTENSION);
-    consumer.consume(new ProjectFileType(), ProjectFileType.DEFAULT_EXTENSION);
+    consumer.consume(WorkspaceFileType.INSTANCE, WorkspaceFileType.DEFAULT_EXTENSION);
+    consumer.consume(ModuleFileType.INSTANCE, ModuleFileType.DEFAULT_EXTENSION);
+    consumer.consume(ProjectFileType.INSTANCE, ProjectFileType.DEFAULT_EXTENSION);
   }
 }
index 6cc0f8b2130528fd77b8e577ace383a25be82f54..5895c2c1fe5c924719d19a09ec5ecf50660a3cef 100644 (file)
@@ -26,9 +26,13 @@ import org.jetbrains.annotations.NotNull;
 import javax.swing.*;
 
 public class ModuleFileType implements InternalFileType {
+  public static final ModuleFileType INSTANCE = new ModuleFileType();
+
   @NonNls public static final String DEFAULT_EXTENSION = "iml";
   @NonNls public static final String DOT_DEFAULT_EXTENSION = ".iml";
 
+  private ModuleFileType() {}
+
   @Override
   @NotNull
   public String getName() {
index 347908a22a08cca8fb18092aeaef02156ffa6397..4988159d68b913e1932aefed269684aab8371d91 100644 (file)
@@ -26,9 +26,13 @@ import org.jetbrains.annotations.NotNull;
 import javax.swing.*;
 
 public class ProjectFileType implements InternalFileType {
+  public static final ProjectFileType INSTANCE = new ProjectFileType();
+
   @NonNls public static final String DEFAULT_EXTENSION = "ipr";
   @NonNls public static final String DOT_DEFAULT_EXTENSION = ".ipr";
 
+  private ProjectFileType() {}
+
   @Override
   @NotNull
   public String getName() {