diff options
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.java | 30 |
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 @@ | |||
1 | package org.eclipse.viatra.solver.data.model.representation; | ||
2 | |||
3 | import org.eclipse.viatra.solver.data.model.Tuple; | ||
4 | import org.eclipse.viatra.solver.data.model.TupleHashProvider; | ||
5 | import org.eclipse.viatra.solver.data.model.symbols.Symbol; | ||
6 | |||
7 | public 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 | } | ||