JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / src / jalview / ws / sifts / SiftsSettings.java
index c666e2c..88aaed4 100644 (file)
@@ -1,16 +1,98 @@
+/*
+ * 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.ws.sifts;
 
-public class SiftsSettings
+import jalview.bin.ApplicationSingletonProvider;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
+
+import java.util.Objects;
+
+public class SiftsSettings implements ApplicationSingletonI
 {
-  private static boolean mapWithSifts = false;
+
+  /**
+   * public only for testng
+   * 
+   * @return
+   */
+  public static SiftsSettings getInstance()
+  {
+    return (SiftsSettings) ApplicationSingletonProvider
+            .getInstance(SiftsSettings.class);
+  }
+
+  private SiftsSettings()
+  {
+    // singleton; use getInstance()
+  }
+
+  private boolean mapWithSifts = false;
+
+  private String siftDownloadDirectory;
+
+  private int cacheThresholdInDays;
+
+  private int failSafePIDThreshold;
 
   public static boolean isMapWithSifts()
   {
-    return mapWithSifts;
+    return getInstance().mapWithSifts;
   }
 
   public static void setMapWithSifts(boolean mapWithSifts)
   {
-    SiftsSettings.mapWithSifts = mapWithSifts;
+    getInstance().mapWithSifts = mapWithSifts;
+  }
+
+  public static String getSiftDownloadDirectory()
+  {
+    return getInstance().siftDownloadDirectory;
+  }
+
+  public static void setSiftDownloadDirectory(String siftDownloadDirectory)
+  {
+    getInstance().siftDownloadDirectory = siftDownloadDirectory;
+  }
+
+  public static int getCacheThresholdInDays()
+  {
+    return getInstance().cacheThresholdInDays;
+  }
+
+  public static void setCacheThresholdInDays(String cacheThresholdInDays)
+  {
+    Objects.requireNonNull(cacheThresholdInDays);
+    getInstance().cacheThresholdInDays = Integer
+            .valueOf(cacheThresholdInDays);
+  }
+
+  public static int getFailSafePIDThreshold()
+  {
+    return getInstance().failSafePIDThreshold;
+  }
+
+  public static void setFailSafePIDThreshold(String failSafePIDThreshold)
+  {
+    Objects.requireNonNull(failSafePIDThreshold);
+    getInstance().failSafePIDThreshold = Integer
+            .valueOf(failSafePIDThreshold);
   }
 }