X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructure%2FStructureImportSettings.java;h=af45278b5455c30db855acd36a361fbeb5d7e539;hb=853624fb32058cccc544ae7d13af6ad4b0800b6c;hp=ed5342541f698237c46cdd617bc8836e7b060b51;hpb=08c202dd3ef0f34bde305c11da9eec03520174dc;p=jalview.git diff --git a/src/jalview/structure/StructureImportSettings.java b/src/jalview/structure/StructureImportSettings.java index ed53425..af45278 100644 --- a/src/jalview/structure/StructureImportSettings.java +++ b/src/jalview/structure/StructureImportSettings.java @@ -1,6 +1,15 @@ package jalview.structure; - +import jalview.datamodel.PDBEntry; +import jalview.datamodel.PDBEntry.Type; + +/** + * bean holding settings for structure IO. TODO: tests for validation of values + * TODO: tests for race conditions (all fields are static, is that correct ?) + * + * @author tcofoegbu + * + */ public class StructureImportSettings { /** @@ -23,14 +32,22 @@ public class StructureImportSettings private static boolean showSeqFeatures = true; - 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,25 +101,33 @@ public class StructureImportSettings StructureImportSettings.showSeqFeatures = showSeqFeatures; } - public static String getCurrentDefaultFormat() + public static String getDefaultStructureFileFormat() + { + return defaultStructureFileFormat.toString(); + } + + public static void setDefaultStructureFileFormat( + String defaultStructureFileFormat) { - return currentDefaultFormat.toString(); + StructureImportSettings.defaultStructureFileFormat = PDBEntry.Type + .valueOf(defaultStructureFileFormat.toUpperCase()); } - public static void setCurrentDefaultFormat(String currentDefaultFormat) + public static String getDefaultPDBFileParser() { - StructureImportSettings.currentDefaultFormat = StructureFormat - .valueOf(currentDefaultFormat); + return defaultPDBFileParser.toString(); } - public static boolean isProcessHETATMs() + public static void setDefaultPDBFileParser( + StructureParser defaultPDBFileParser) { - return processHETATMs; + StructureImportSettings.defaultPDBFileParser = defaultPDBFileParser; } - public static void setProcessHETATMs(boolean processHETATMs) + public static void setDefaultPDBFileParser(String defaultPDBFileParser) { - StructureImportSettings.processHETATMs = processHETATMs; + StructureImportSettings.defaultPDBFileParser = StructureParser + .valueOf(defaultPDBFileParser.toUpperCase()); } }