Merge branch 'apifix/JAL-1926_JAL-2106' into develop
[jalview.git] / src / jalview / structure / StructureImportSettings.java
index ed53425..388ccbd 100644 (file)
@@ -1,6 +1,14 @@
 package jalview.structure;
 
-
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.PDBEntry.Type;
+
+/**
+ * bean holding settings for structure IO. TODO: tests for validation of values
+ * 
+ * @author tcofoegbu
+ *
+ */
 public class StructureImportSettings
 {
   /**
@@ -25,13 +33,23 @@ public class StructureImportSettings
 
   private static boolean processHETATMs = false;
 
-  public enum StructureFormat
+  public enum StructureParser
   {
-    PDB, MMCIF
-  };
+    JMOL_PARSER, JALVIEW_PARSER
+  }
 
-  private static StructureFormat currentDefaultFormat = StructureFormat.PDB;
 
+  /**
+   * Determines the default file format for structure files to be downloaded
+   * from the PDB sequence fetcher. Possible options include: PDB|mmCIF
+   */
+  private static PDBEntry.Type defaultStructureFileFormat = Type.PDB;
+
+  /**
+   * Determines the parser used for parsing PDB format file. Possible options
+   * are : JMolParser|JalveiwParser
+   */
+  private static StructureParser defaultPDBFileParser = StructureParser.JMOL_PARSER;
   public static void addSettings(boolean addAlignmentAnnotations,
           boolean processSecStr, boolean externalSecStr)
   {
@@ -84,15 +102,16 @@ public class StructureImportSettings
     StructureImportSettings.showSeqFeatures = showSeqFeatures;
   }
 
-  public static String getCurrentDefaultFormat()
+  public static String getDefaultStructureFileFormat()
   {
-    return currentDefaultFormat.toString();
+    return defaultStructureFileFormat.toString();
   }
 
-  public static void setCurrentDefaultFormat(String currentDefaultFormat)
+  public static void setDefaultStructureFileFormat(
+          String defaultStructureFileFormat)
   {
-    StructureImportSettings.currentDefaultFormat = StructureFormat
-            .valueOf(currentDefaultFormat);
+    StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type
+            .valueOf(defaultStructureFileFormat);
   }
 
   public static boolean isProcessHETATMs()
@@ -105,4 +124,21 @@ public class StructureImportSettings
     StructureImportSettings.processHETATMs = processHETATMs;
   }
 
+  public static String getDefaultPDBFileParser()
+  {
+    return defaultPDBFileParser.toString();
+  }
+
+  public static void setDefaultPDBFileParser(
+          StructureParser defaultPDBFileParser)
+  {
+    StructureImportSettings.defaultPDBFileParser = defaultPDBFileParser;
+  }
+
+  public static void setDefaultPDBFileParser(String defaultPDBFileParser)
+  {
+    StructureImportSettings.defaultPDBFileParser = StructureParser
+            .valueOf(defaultPDBFileParser);
+  }
+
 }