new applet and application utility class for platform information
[jalview.git] / src / jalview / io / AlignFile.java
index 3c7e0b2..da09590 100755 (executable)
@@ -129,12 +129,22 @@ public abstract class AlignFile
       }
     }
   }
+  /**
+   * Store a non-null key-value pair in a hashtable used to set alignment properties
+   * note: null keys will raise an error, null values will result in the key/value pair being silently ignored.
+   * @param key - non-null key object
+   * @param value - non-null value
+   */
   protected void setAlignmentProperty(Object key, Object value)
   {
     if (key==null)
     {
       throw new Error("Implementation error: Cannot have null alignment property key.");
     }
+    if (value==null)
+    {
+      return; // null properties are ignored.
+    }
     if (properties==null)
     {
       properties = new Hashtable();
@@ -223,5 +233,27 @@ public abstract class AlignFile
   {
     return seq.getDisplayId(jvSuffix);
   }
+  /**
+   * vector of String[] treeName, newickString pairs
+   */
+  Vector newickStrings=null;
+
+  protected void addNewickTree(String treeName, String newickString)
+  {
+    if (newickStrings == null)
+    {
+      newickStrings = new Vector();
+    }
+    newickStrings.addElement(new String[] { treeName, newickString});
+  }
+
+  protected int getTreeCount()
+  {
+    if (newickStrings==null)
+    {
+      return 0;
+    }
+    return newickStrings.size();
+  }
 
 }