1 /* 2 * Copyright 2013-2023 Medical Information Systems Research Group (https://medical.zcu.cz), 3 * Department of Computer Science and Engineering, University of West Bohemia. 4 * Address: Univerzitni 8, 306 14 Plzen, Czech Republic. 5 * 6 * This file is part of Sparkle project. 7 * 8 * Sparkle is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation, either version 3 of the License. 11 * 12 * Sparkle is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with Sparkle. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 package cz.zcu.mre.sparkle.gui.query.helpers; 21 22 import java.util.Set; 23 24 /** 25 * Komponenty implementující toto rozhraní dokáží vrátit ty části dotazu, které 26 * nějakým způsobem omezují rozsah hodnot, jakých může nabývat proměnná. 27 * 28 * @author Jan Smucr 29 * @author Petr Vcelak (vcelak@kiv.zcu.cz) 30 */ 31 public interface VariableConstraintsGenerator extends PartialQueryGenerator, PrefixesUser { 32 33 /** 34 * Vrací ty části dotazu které nějakým způsobem omezují rozsah hodnot, 35 * jakých může nabývat uvedená proměnná. 36 * 37 * @param variableName Název proměnné. 38 * @param nodeToSkip Objekt, který se má při vyhodnocování omezení 39 * přeskočit. 40 * @param prefixes Sada prefixů, které části dotazů používají. 41 * @param constraints Hledané omezující části dotazů. 42 * @param dependingVariables Proměnné ovlivňující hodnotu zkoumané proměnné 43 * a obráceně. 44 */ 45 void fillInVariableConstraints(String variableName, VariableConstraintsGenerator nodeToSkip, Set<String> prefixes, 46 Set<String> constraints, 47 Set<String> dependingVariables); 48 }