Merge branch 'apifix/JAL-1926_JAL-2106' into develop
[jalview.git] / src / jalview / structure / StructureImportSettings.java
index 4c06e0f..388ccbd 100644 (file)
@@ -1,7 +1,14 @@
 package jalview.structure;
 
-import jalview.datamodel.DBRefSource;
-
+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
 {
   /**
@@ -14,7 +21,7 @@ public class StructureImportSettings
    * Set true to predict secondary structure (using JMol for protein, Annotate3D
    * for RNA)
    */
-  private static boolean predictSecStr = false;
+  private static boolean processSecStr = false;
 
   /**
    * Set true (with predictSecondaryStructure=true) to predict secondary
@@ -26,30 +33,28 @@ public class StructureImportSettings
 
   private static boolean processHETATMs = false;
 
-  public static final String JMOL_PARSER = "JMolParser";
-
-  public static final String JALVIEW_PARSER = "JalViewParser";
-
-  public static final String MMCIF = "mmCIF";
+  public enum StructureParser
+  {
+    JMOL_PARSER, JALVIEW_PARSER
+  }
 
-  public static final String PDB = "PDB";
 
   /**
    * Determines the default file format for structure files to be downloaded
    * from the PDB sequence fetcher. Possible options include: PDB|mmCIF
    */
-  private static String defaultStructureFileFormat = DBRefSource.PDB;
+  private static PDBEntry.Type defaultStructureFileFormat = Type.PDB;
 
   /**
    * Determines the parser used for parsing PDB format file. Possible options
    * are : JMolParser|JalveiwParser
    */
-  private static String defaultPDBFileParser = JMOL_PARSER;
+  private static StructureParser defaultPDBFileParser = StructureParser.JMOL_PARSER;
   public static void addSettings(boolean addAlignmentAnnotations,
-          boolean predictSecStr, boolean externalSecStr)
+          boolean processSecStr, boolean externalSecStr)
   {
     StructureImportSettings.visibleChainAnnotation = addAlignmentAnnotations;
-    StructureImportSettings.predictSecStr = predictSecStr;
+    StructureImportSettings.processSecStr = processSecStr;
     StructureImportSettings.externalSecondaryStructure = externalSecStr;
     StructureImportSettings.showSeqFeatures = true;
   }
@@ -65,15 +70,15 @@ public class StructureImportSettings
     StructureImportSettings.visibleChainAnnotation = visibleChainAnnotation;
   }
 
-  public static boolean isPredictSecondaryStructure()
+  public static boolean isProcessSecondaryStructure()
   {
-    return predictSecStr;
+    return processSecStr;
   }
 
-  public static void setPredictSecondaryStructure(
-          boolean predictSecondaryStructure)
+  public static void setProcessSecondaryStructure(
+          boolean processSecondaryStructure)
   {
-    StructureImportSettings.predictSecStr = predictSecondaryStructure;
+    StructureImportSettings.processSecStr = processSecondaryStructure;
   }
 
   public static boolean isExternalSecondaryStructure()
@@ -99,13 +104,14 @@ public class StructureImportSettings
 
   public static String getDefaultStructureFileFormat()
   {
-    return defaultStructureFileFormat;
+    return defaultStructureFileFormat.toString();
   }
 
   public static void setDefaultStructureFileFormat(
           String defaultStructureFileFormat)
   {
-    StructureImportSettings.defaultStructureFileFormat = defaultStructureFileFormat;
+    StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type
+            .valueOf(defaultStructureFileFormat);
   }
 
   public static boolean isProcessHETATMs()
@@ -120,12 +126,19 @@ public class StructureImportSettings
 
   public static String getDefaultPDBFileParser()
   {
-    return defaultPDBFileParser;
+    return defaultPDBFileParser.toString();
   }
 
-  public static void setDefaultPDBFileParser(String defaultPDBFileParser)
+  public static void setDefaultPDBFileParser(
+          StructureParser defaultPDBFileParser)
   {
     StructureImportSettings.defaultPDBFileParser = defaultPDBFileParser;
   }
 
+  public static void setDefaultPDBFileParser(String defaultPDBFileParser)
+  {
+    StructureImportSettings.defaultPDBFileParser = StructureParser
+            .valueOf(defaultPDBFileParser);
+  }
+
 }