JAL-1528 new Preference CHIMERA_PATH (Preferences | Structure)
[jalview.git] / src / jalview / bin / Cache.java
index 21a030b..24ed1b4 100755 (executable)
@@ -158,14 +158,22 @@ import org.apache.log4j.SimpleLayout;
  * when shading by annotation</li>
  * <li>www.jalview.org (http://www.jalview.org) a property enabling all HTTP
  * requests to be redirected to a mirror of http://www.jalview.org</li>
- * 
  * <li>FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported
  * alignment figure to accommodate even the longest sequence ID or annotation
  * label.</li>
  * <li>FIGURE_FIXEDIDWIDTH Specifies the width to use for the left-hand column
  * when exporting an alignment as a figure (setting FIGURE_AUTOIDWIDTH to true
  * will override this).</li>
- * <li></li>
+ * <li>STRUCT_FROM_PDB (false) derive secondary structure annotation from PDB
+ * record</li>
+ * <li>USE_RNAVIEW (false) use RNAViewer to derive secondary structure</li>
+ * <li>ADD_SS_ANN (false) add secondary structure annotation to alignment
+ * display</li>
+ * <li>ADD_TEMPFACT_ANN (false) add Temperature Factor annotation to alignment
+ * display</li>
+ * <li>STRUCTURE_DISPLAY choose from JMOL (default) or CHIMERA for 3D structure
+ * display</li>
+ * <li>CHIMERA_PATH specify full path to Chimera program (if non-standard)</li>
  * 
  * </ul>
  * Deprecated settings:
@@ -207,13 +215,6 @@ public class Cache
 
   public static final String DAS_ACTIVE_SOURCE = "DAS_ACTIVE_SOURCE";
 
-  /*
-   * Property key/value constants
-   */
-  public static final String SORT_ANNOTATIONS = "SORT_ANNOTATIONS";
-
-  public static final String SHOW_AUTOCALC_ABOVE = "SHOW_AUTOCALC_ABOVE";
-
   /**
    * Initialises the Jalview Application Log
    */
@@ -906,4 +907,27 @@ public class Cache
     }
     return sourceRegistry;
   }
+
+  /**
+   * Set the specified value, or remove it if null or empty. Does not save the
+   * properties file.
+   * 
+   * @param propName
+   * @param value
+   */
+  public static void setOrRemove(String propName, String value)
+  {
+    if (propName == null)
+    {
+      return;
+    }
+    if (value == null || value.trim().length() < 1)
+    {
+      Cache.applicationProperties.remove(propName);
+    }
+    else
+    {
+      Cache.applicationProperties.setProperty(propName, value);
+    }
+  }
 }