JAL-3438 spotless for 2.11.2.0
[jalview.git] / src / jalview / io / FileFormats.java
index a18d4e8..b7dd834 100644 (file)
@@ -1,5 +1,27 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.io;
 
+import java.util.Locale;
+
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -26,10 +48,9 @@ public class FileFormats
   private static Map<String, FileFormatI> formats;
 
   /*
-   * Formats in this set are built in to Jalview and instantiated
-   * on startup, any others are added dynamically 
+   * Formats in this set are capable of being identified by IdentifyFile 
    */
-  private static Set<FileFormatI> builtIn;
+  private static Set<FileFormatI> identifiable;
 
   public static FileFormats getInstance()
   {
@@ -52,21 +73,20 @@ public class FileFormats
   public synchronized void reset()
   {
     formats = new LinkedHashMap<String, FileFormatI>();
-    builtIn = new HashSet<FileFormatI>();
+    identifiable = new HashSet<FileFormatI>();
     for (FileFormat format : FileFormat.values())
     {
-      registerFileFormat(format, true);
+      registerFileFormat(format, format.isIdentifiable());
     }
   }
 
   /**
-   * Answers false if the format is one 'built in' to Jalview, or true if not
-   * (meaning it has been added dynamically at runtime). Only built-in formats
-   * can be validated by IdentifyFile. Answers true for a null input.
+   * Answers true if the format is one that can be identified by IdentifyFile.
+   * Answers false for a null value.
    */
-  public boolean isDynamic(FileFormatI f)
+  public boolean isIdentifiable(FileFormatI f)
   {
-    return !builtIn.contains(f);
+    return identifiable.contains(f);
   }
 
   /**
@@ -76,21 +96,23 @@ public class FileFormats
    */
   public void registerFileFormat(FileFormatI format)
   {
-    registerFileFormat(format, false);
+    boolean isIdentifiable = format instanceof FileFormat
+            && ((FileFormat) format).isIdentifiable();
+    registerFileFormat(format, isIdentifiable);
   }
 
   protected void registerFileFormat(FileFormatI format,
-          boolean isBuiltIn)
+          boolean isIdentifiable)
   {
-    String name = format.getName().toUpperCase();
+    String name = format.getName().toUpperCase(Locale.ROOT);
     if (formats.containsKey(name))
     {
       System.err.println("Overwriting file format: " + format.getName());
     }
     formats.put(name, format);
-    if (isBuiltIn)
+    if (isIdentifiable)
     {
-      builtIn.add(format);
+      identifiable.add(format);
     }
   }
 
@@ -101,8 +123,8 @@ public class FileFormats
    */
   public void deregisterFileFormat(String name)
   {
-    FileFormatI ff = formats.remove(name.toUpperCase());
-    builtIn.remove(ff);
+    FileFormatI ff = formats.remove(name.toUpperCase(Locale.ROOT));
+    identifiable.remove(ff);
   }
 
   /**
@@ -154,7 +176,8 @@ public class FileFormats
    */
   public FileFormatI forName(String format)
   {
-    return format == null ? null : formats.get(format.toUpperCase());
+    return format == null ? null
+            : formats.get(format.toUpperCase(Locale.ROOT));
   }
 
   /**