aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java')
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java
new file mode 100644
index 00000000..2fbb4607
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java
@@ -0,0 +1,46 @@
1package tools.refinery.store.reasoning.literal;
2
3import tools.refinery.store.query.Constraint;
4import tools.refinery.store.query.equality.LiteralEqualityHelper;
5import tools.refinery.store.query.literal.LiteralReduction;
6import tools.refinery.store.query.term.Sort;
7
8import java.util.List;
9
10public record ModalConstraint(Modality modality, Constraint constraint) implements Constraint {
11 private static final String FORMAT = "%s %s";
12
13 @Override
14 public String name() {
15 return FORMAT.formatted(modality, constraint.name());
16 }
17
18 @Override
19 public List<Sort> getSorts() {
20 return constraint.getSorts();
21 }
22
23 @Override
24 public LiteralReduction getReduction() {
25 return constraint.getReduction();
26 }
27
28 @Override
29 public boolean equals(LiteralEqualityHelper helper, Constraint other) {
30 if (getClass() != other.getClass()) {
31 return false;
32 }
33 var otherModalConstraint = (ModalConstraint) other;
34 return modality == otherModalConstraint.modality && constraint.equals(helper, otherModalConstraint.constraint);
35 }
36
37 @Override
38 public String toReferenceString() {
39 return FORMAT.formatted(modality, constraint.toReferenceString());
40 }
41
42 @Override
43 public String toString() {
44 return FORMAT.formatted(modality, constraint);
45 }
46}