package innovimax.mixthem;

import innovimax.mixthem.arguments.ParamValue;
import innovimax.mixthem.arguments.Rule;
import innovimax.mixthem.arguments.RuleParam;

import java.util.Map;

/**
* <p>Describes a specific test run for a rule.</p>
* <p>Depends on the rule, test runs may have some parameter values or not.</p>
* @author Innovimax
* @version 1.0
*/
public class RuleRun {

  final private int index;
  final private Map<RuleParam, ParamValue> params;

  /*
  * Creates a rule run for a specific test.
  * @param index The position of the run
  * @param params The list of parameter values for this run
  */
  public RuleRun(final int index, final Map<RuleParam, ParamValue> params) {    
    this.index = index;
    this.params = params;    
  }
  
  /*
  * Returns true if the run has a specific suffix.  
  * @return Returns true if the run has a specific suffix
  */
  public boolean hasSuffix() {    
    return this.index > 1;
  }
  
  /*
  * Returns the specific suffix attached to the run.
  * @return The specific suffix attached to the run
  */
  public String getSuffix() {    
    return Integer.toString(this.index);
  }
  
  /*
  * Returns the list of parameter values for this run.
  * @return Returns the list of parameter values for this run
  */
  public Map<RuleParam, ParamValue> getParams() {
    return this.params;
  }

}

@@ -177,16 +177,38 @@
 til.Map;
+%0Aimport java.util.Set;
 %0A%0A/**%0A* 
@@ -424,16 +424,56 @@
  index;%0A
+  final private Set%3CInteger%3E selection;%0A
   final 
@@ -514,16 +514,18 @@
  params;
+  
 %0A%0A  /*%0A 
@@ -608,16 +608,79 @@
 the run%0A
+  * @param The file index selection for this run (maybe empty)%0A
   * @par
@@ -722,32 +722,46 @@
 ues for this run
+ (maybe empty)
 %0A  */%0A  public R
@@ -783,16 +783,46 @@
 t index,
+ final Set%3CInteger%3E selection,
  final M
@@ -885,16 +885,48 @@
  index;%0A
+    this.selection = selection;%0A
     this
@@ -1333,24 +1333,206 @@
 .index);%0A  %7D
+%0A%0A  /*%0A  * Returns the file index selection for this run.%0A  * @return The file index selection for this run%0A  */%0A  public Set%3CInteger%3E getSelection() %7B%0A    return this.selection;%0A  %7D
 %0A  %0A  /*%0A  *
@@ -1595,25 +1595,17 @@
 @return 
-Returns t
+T
 he list 

Update RuleRun.java