1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package net.sf.jameleon.data;
21
22 import java.util.Set;
23 import java.util.Map;
24
25 /***
26 * The class that needs to be data-driven should implement this interface.
27 */
28 public interface DataDrivable{
29
30 /***
31 * Called with the a key-value pair of variables for each row found in the
32 * data source.
33 * @param rowNum - The row number being executed
34 */
35 public void executeDrivableRow(int rowNum);
36
37 /***
38 * Removes the keys from the context and the variable set in addVariablesToRowData()
39 * @param keys - A Set of variable names to clean up.
40 */
41 public void destroyVariables(Set keys);
42
43 /***
44 * Used to keep track of the variables and their original values.
45 * Any variable substitution should also be done here
46 * @param vars - A map of key-value pairs.
47 */
48 public void addVariablesToRowData(Map vars);
49
50 /***
51 * Used to tell whether this DataDrivable object is meant
52 * to report on each row execution or to report on them as
53 * a whole
54 */
55 public boolean isCountRow();
56 }