View Javadoc
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  }