aboutsummaryrefslogtreecommitdiffstats
path: root/model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java
diff options
context:
space:
mode:
Diffstat (limited to 'model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java')
-rw-r--r--model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java b/model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java
new file mode 100644
index 00000000..60e43692
--- /dev/null
+++ b/model-data/src/main/java/org/eclipse/viatra/solver/data/model/representation/RelationRepresentation.java
@@ -0,0 +1,30 @@
1package org.eclipse.viatra.solver.data.model.representation;
2
3import org.eclipse.viatra.solver.data.model.Tuple;
4import org.eclipse.viatra.solver.data.model.TupleHashProvider;
5import org.eclipse.viatra.solver.data.model.symbols.Symbol;
6
7public class RelationRepresentation <D> extends DataRepresentation<Tuple,D> {
8 private final Symbol symbol;
9
10 public RelationRepresentation(Symbol symbol,Class<D> domain, D defaultValue) {
11 super(Tuple.class,TupleHashProvider.singleton(),domain,defaultValue);
12 this.symbol = symbol;
13 }
14
15 @Override
16 public String getName() {
17 return symbol.getName();
18 }
19
20 public Symbol getSymbol() {
21 return symbol;
22 }
23
24 @Override
25 public boolean isValidKey(Tuple key) {
26 return key.getSize() == symbol.getArity();
27 }
28
29
30}