diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend')
-rw-r--r-- | Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend new file mode 100644 index 00000000..6d65367f --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend | |||
@@ -0,0 +1,41 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric | ||
4 | import java.util.ArrayList | ||
5 | import java.util.List | ||
6 | |||
7 | abstract class Graph { | ||
8 | |||
9 | protected static val String META_MODEL_HEADER = "Meta Mode" | ||
10 | protected static val String NUM_NODE_HEADER = "Number Of Nodes"; | ||
11 | protected static val String NUM_EDGE_TYPE_HEADER = "Number of Edge types"; | ||
12 | protected static val String STATE_ID_HEADER = "State Id"; | ||
13 | |||
14 | protected val statistic = new GraphStatistic(); | ||
15 | protected var List<Metric> metrics; | ||
16 | protected var String name = ""; | ||
17 | protected var String metaModel = ""; | ||
18 | |||
19 | /** | ||
20 | * evaluate all metrics for this model | ||
21 | * return the result as a two dimentional list | ||
22 | */ | ||
23 | def ArrayList<ArrayList<String>> evaluateAllMetrics(){ | ||
24 | val result = new ArrayList<ArrayList<String>>(); | ||
25 | setBasicInformation(result); | ||
26 | |||
27 | for(metric : this.metrics){ | ||
28 | val datas = metric.evaluate(this.statistic); | ||
29 | for(row : datas){ | ||
30 | result.add(new ArrayList<String>(row)); | ||
31 | } | ||
32 | } | ||
33 | return result; | ||
34 | } | ||
35 | |||
36 | def void setBasicInformation(ArrayList<ArrayList<String>> result); | ||
37 | |||
38 | def GraphStatistic getStatistic(); | ||
39 | |||
40 | def String getName(); | ||
41 | } \ No newline at end of file | ||