]> git.mxchange.org Git - jcore.git/blob - src/org/mxchange/jcore/criteria/Criteria.java
added debug message
[jcore.git] / src / org / mxchange / jcore / criteria / Criteria.java
1 /*
2  * Copyright (C) 2015 Roland Haeder
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 package org.mxchange.jcore.criteria;
18
19 import java.util.Map;
20 import java.util.Set;
21 import org.mxchange.jcore.FrameworkInterface;
22 import org.mxchange.jcore.criteria.logical.Logical;
23
24 /**
25  * A general interface for criteria
26  *
27  * @author Roland Haeder
28  */
29 public interface Criteria extends FrameworkInterface {
30         /**
31          * Adds a boolean criteria
32          *
33          * @param key Key of criteria
34          * @param value Value of criteria
35          */
36         public void addCriteria (final String key, final Boolean value);
37
38         /**
39          * Adds a string criteria
40          *
41          * @param key Key of criteria
42          * @param value Value of criteria
43          */
44         public void addCriteria (final String key, final String value);
45
46         /**
47          * Adds a number criteria
48          *
49          * @param key Key of criteria
50          * @param value Value of criteria
51          */
52         public void addCriteria (final String key, final Number value);
53
54         /**
55          * Gets all values from underlaying map in an iterator.
56          *
57          * @return Values iteratable
58          */
59         public Iterable<Object> values ();
60
61         /**
62          * Gets all entries as a key-value pair
63          *
64          * @return Key-value paira of all entries
65          */
66         public Set<Map.Entry<String, Object>> entrySet ();
67
68         /**
69          * Setter for logical matcher instance
70          *
71          * @param logical Logical matcher instance
72          */
73         public void setLogical (final Logical logical);
74 }