From 6252cdf7dc40e64008e919d82f823c0729f23d21 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 4 Nov 2022 01:58:42 +0100 Subject: refactor: rename CallKind to Polarity --- .../refinery/store/query/atom/BasicCallKind.java | 26 ---------------------- .../tools/refinery/store/query/atom/CallAtom.java | 24 ++++++++++---------- .../tools/refinery/store/query/atom/CallKind.java | 11 --------- .../refinery/store/query/atom/CallPolarity.java | 11 +++++++++ .../refinery/store/query/atom/CountCallKind.java | 13 ----------- .../store/query/atom/CountingPolarity.java | 13 +++++++++++ .../refinery/store/query/atom/SimplePolarity.java | 26 ++++++++++++++++++++++ 7 files changed, 62 insertions(+), 62 deletions(-) delete mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/BasicCallKind.java delete mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/CallKind.java create mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java delete mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/CountCallKind.java create mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/CountingPolarity.java create mode 100644 subprojects/store/src/main/java/tools/refinery/store/query/atom/SimplePolarity.java (limited to 'subprojects/store/src/main') diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/BasicCallKind.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/BasicCallKind.java deleted file mode 100644 index cf2ffc07..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/BasicCallKind.java +++ /dev/null @@ -1,26 +0,0 @@ -package tools.refinery.store.query.atom; - -public enum BasicCallKind implements CallKind { - POSITIVE(true, false), - NEGATIVE(false, false), - TRANSITIVE(true, true); - - private final boolean positive; - - private final boolean transitive; - - BasicCallKind(boolean positive, boolean transitive) { - this.positive = positive; - this.transitive = transitive; - } - - @Override - public boolean isPositive() { - return positive; - } - - @Override - public boolean isTransitive() { - return transitive; - } -} diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java index e52e33ac..9e289a8a 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java +++ b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java @@ -8,22 +8,22 @@ import java.util.Objects; import java.util.Set; public final class CallAtom extends AbstractSubstitutionAtom { - private final CallKind kind; + private final CallPolarity polarity; - public CallAtom(CallKind kind, T target, List substitution) { + public CallAtom(CallPolarity polarity, T target, List substitution) { super(target, substitution); - if (kind.isTransitive() && target.getArity() != 2) { + if (polarity.isTransitive() && target.getArity() != 2) { throw new IllegalArgumentException("Transitive closures can only take binary relations"); } - this.kind = kind; + this.polarity = polarity; } - public CallAtom(CallKind kind, T target, Variable... substitution) { - this(kind, target, List.of(substitution)); + public CallAtom(CallPolarity polarity, T target, Variable... substitution) { + this(polarity, target, List.of(substitution)); } public CallAtom(boolean positive, T target, List substitution) { - this(CallKind.fromBoolean(positive), target, substitution); + this(CallPolarity.fromBoolean(positive), target, substitution); } public CallAtom(boolean positive, T target, Variable... substitution) { @@ -38,13 +38,13 @@ public final class CallAtom extends AbstractSubstitution this(target, List.of(substitution)); } - public CallKind getKind() { - return kind; + public CallPolarity getPolarity() { + return polarity; } @Override public void collectAllVariables(Set variables) { - if (kind.isPositive()) { + if (polarity.isPositive()) { super.collectAllVariables(variables); } } @@ -54,13 +54,13 @@ public final class CallAtom extends AbstractSubstitution if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CallAtom that = (CallAtom) o; - return Objects.equals(kind, that.kind) + return Objects.equals(polarity, that.polarity) && Objects.equals(getTarget(), that.getTarget()) && Objects.equals(getSubstitution(), that.getSubstitution()); } @Override public int hashCode() { - return Objects.hash(kind, getTarget(), getSubstitution()); + return Objects.hash(polarity, getTarget(), getSubstitution()); } } diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallKind.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallKind.java deleted file mode 100644 index 86066b8e..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallKind.java +++ /dev/null @@ -1,11 +0,0 @@ -package tools.refinery.store.query.atom; - -public sealed interface CallKind permits BasicCallKind, CountCallKind { - boolean isPositive(); - - boolean isTransitive(); - - static CallKind fromBoolean(boolean positive) { - return positive ? BasicCallKind.POSITIVE : BasicCallKind.NEGATIVE; - } -} diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java new file mode 100644 index 00000000..2ab2b6d2 --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java @@ -0,0 +1,11 @@ +package tools.refinery.store.query.atom; + +public sealed interface CallPolarity permits SimplePolarity, CountingPolarity { + boolean isPositive(); + + boolean isTransitive(); + + static CallPolarity fromBoolean(boolean positive) { + return positive ? SimplePolarity.POSITIVE : SimplePolarity.NEGATIVE; + } +} diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountCallKind.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountCallKind.java deleted file mode 100644 index 2c85cb4f..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountCallKind.java +++ /dev/null @@ -1,13 +0,0 @@ -package tools.refinery.store.query.atom; - -public record CountCallKind(ComparisonOperator operator, int threshold) implements CallKind { - @Override - public boolean isPositive() { - return false; - } - - @Override - public boolean isTransitive() { - return false; - } -} diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountingPolarity.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountingPolarity.java new file mode 100644 index 00000000..08a62f4f --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CountingPolarity.java @@ -0,0 +1,13 @@ +package tools.refinery.store.query.atom; + +public record CountingPolarity(ComparisonOperator operator, int threshold) implements CallPolarity { + @Override + public boolean isPositive() { + return false; + } + + @Override + public boolean isTransitive() { + return false; + } +} diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/SimplePolarity.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/SimplePolarity.java new file mode 100644 index 00000000..d243bf26 --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/query/atom/SimplePolarity.java @@ -0,0 +1,26 @@ +package tools.refinery.store.query.atom; + +public enum SimplePolarity implements CallPolarity { + POSITIVE(true, false), + NEGATIVE(false, false), + TRANSITIVE(true, true); + + private final boolean positive; + + private final boolean transitive; + + SimplePolarity(boolean positive, boolean transitive) { + this.positive = positive; + this.transitive = transitive; + } + + @Override + public boolean isPositive() { + return positive; + } + + @Override + public boolean isTransitive() { + return transitive; + } +} -- cgit v1.2.3-54-g00ecf