/* * SPDX-FileCopyrightText: 2023 The Refinery Authors * * SPDX-License-Identifier: EPL-2.0 */ package tools.refinery.store.dse.modification.actions; import tools.refinery.store.dse.modification.ModificationAdapter; import tools.refinery.store.dse.transition.actions.AbstractActionLiteral; import tools.refinery.store.dse.transition.actions.BoundActionLiteral; import tools.refinery.store.model.Model; import tools.refinery.store.query.term.NodeVariable; import java.util.List; public class CreateActionLiteral extends AbstractActionLiteral { private final NodeVariable variable; public CreateActionLiteral(NodeVariable variable) { this.variable = variable; } public NodeVariable getVariable() { return variable; } @Override public List getInputVariables() { return List.of(); } @Override public List getOutputVariables() { return List.of(variable); } @Override public BoundActionLiteral bindToModel(Model model) { var adapter = model.getAdapter(ModificationAdapter.class); return ignoredTuple -> adapter.createObject(); } }