aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java')
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java
new file mode 100644
index 00000000..62c35cee
--- /dev/null
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/actions/CleanupActionLiteral.java
@@ -0,0 +1,43 @@
1/*
2 * SPDX-FileCopyrightText: 2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6package tools.refinery.store.reasoning.actions;
7
8import tools.refinery.store.dse.transition.actions.AbstractActionLiteral;
9import tools.refinery.store.dse.transition.actions.BoundActionLiteral;
10import tools.refinery.store.model.Model;
11import tools.refinery.store.query.term.NodeVariable;
12import tools.refinery.store.reasoning.ReasoningAdapter;
13import tools.refinery.store.tuple.Tuple;
14
15import java.util.List;
16
17public class CleanupActionLiteral extends AbstractActionLiteral {
18 private final NodeVariable node;
19
20 public CleanupActionLiteral(NodeVariable node) {
21 this.node = node;
22 }
23
24 public NodeVariable getNode() {
25 return node;
26 }
27
28 @Override
29 public List<NodeVariable> getInputVariables() {
30 return List.of(node);
31 }
32
33 @Override
34 public List<NodeVariable> getOutputVariables() {
35 return List.of();
36 }
37
38 @Override
39 public BoundActionLiteral bindToModel(Model model) {
40 var reasoningAdapter = model.getAdapter(ReasoningAdapter.class);
41 return tuple -> reasoningAdapter.cleanup(tuple.get(0)) ? Tuple.of() : null;
42 }
43}