JAL-2808 small tweaks to api / Javadoc
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 9 Jan 2018 15:39:53 +0000 (15:39 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 9 Jan 2018 15:39:53 +0000 (15:39 +0000)
src/jalview/datamodel/features/FeatureMatcherI.java
src/jalview/datamodel/features/FeatureMatcherSet.java
src/jalview/datamodel/features/FeatureMatcherSetI.java
test/jalview/datamodel/features/FeatureMatcherSetTest.java

index fa66468..f1f8585 100644 (file)
@@ -58,8 +58,8 @@ public interface FeatureMatcherI
 
   /**
    * Answers a string representation of this object suitable for use when
-   * persisting data, in a format that should not change so can be reliably read
-   * back.
+   * persisting data, in a format that can be reliably read back. Any changes to
+   * the format should be backwards compatible.
    */
   String toStableString();
 }
index 3d28def..b51f2f0 100644 (file)
@@ -6,6 +6,12 @@ import jalview.util.MessageManager;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * A class that models one or more match conditions, which may be combined with
+ * AND or OR (but not a mixture)
+ * 
+ * @author gmcarstairs
+ */
 public class FeatureMatcherSet implements FeatureMatcherSetI
 {
   private static final String OR = "OR";
@@ -182,7 +188,7 @@ public class FeatureMatcherSet implements FeatureMatcherSetI
   }
 
   @Override
-  public FeatureMatcherSetI and(FeatureMatcherI m)
+  public void and(FeatureMatcherI m)
   {
     if (!andConditions && matchConditions.size() > 1)
     {
@@ -190,12 +196,10 @@ public class FeatureMatcherSet implements FeatureMatcherSetI
     }
     matchConditions.add(m);
     andConditions = true;
-
-    return this;
   }
 
   @Override
-  public FeatureMatcherSetI or(FeatureMatcherI m)
+  public void or(FeatureMatcherI m)
   {
     if (andConditions && matchConditions.size() > 1)
     {
@@ -203,8 +207,6 @@ public class FeatureMatcherSet implements FeatureMatcherSetI
     }
     matchConditions.add(m);
     andConditions = false;
-
-    return this;
   }
 
   @Override
index 8a9d675..90c2986 100644 (file)
@@ -20,14 +20,13 @@ public interface FeatureMatcherSetI
   boolean matches(SequenceFeature feature);
 
   /**
-   * Answers a new object that matches the logical AND of this and m
+   * Adds (ANDs) match condition m to this object's matcher set
    * 
    * @param m
-   * @return
    * @throws IllegalStateException
    *           if an attempt is made to AND to existing OR-ed conditions
    */
-  FeatureMatcherSetI and(FeatureMatcherI m);
+  void and(FeatureMatcherI m);
 
   /**
    * Answers true if any second condition is AND-ed with this one, false if it
@@ -38,14 +37,13 @@ public interface FeatureMatcherSetI
   boolean isAnded();
 
   /**
-   * Answers a new object that matches the logical OR of this and m
+   * Adds (ORs) the given condition to this object's match conditions
    * 
    * @param m
-   * @return
    * @throws IllegalStateException
    *           if an attempt is made to OR to existing AND-ed conditions
    */
-  FeatureMatcherSetI or(FeatureMatcherI m);
+  void or(FeatureMatcherI m);
 
   /**
    * Answers an iterator over the combined match conditions
@@ -63,8 +61,8 @@ public interface FeatureMatcherSetI
 
   /**
    * Answers a string representation of this object suitable for use when
-   * persisting data, in a format that should not change so can be reliably read
-   * back.
+   * persisting data, in a format that can be reliably read back. Any changes to
+   * the format should be backwards compatible.
    */
   String toStableString();
 }
index 34bc8fe..a2d2c9a 100644 (file)
@@ -104,7 +104,8 @@ public class FeatureMatcherSetTest
      * OR failed attribute and score conditions with matched label condition
      */
     fms = new FeatureMatcherSet();
-    fms.or(fm2).or(byScoreFail);
+    fms.or(fm2);
+    fms.or(byScoreFail);
     assertFalse(fms.matches(sf));
     fms.or(byLabelPass);
     assertTrue(fms.matches(sf));