Project

General

Profile

1
package eu.dnetlib.data.bulktag;
2

    
3
import com.google.common.reflect.TypeToken;
4
import com.google.gson.Gson;
5
import eu.dnetlib.data.bulktag.selectioncriteria.VerbResolver;
6

    
7
import java.io.Serializable;
8
import java.lang.reflect.Type;
9
import java.util.Collection;
10
import java.util.List;
11
import java.util.Map;
12

    
13
public class SelectionConstraints implements Serializable {
14
    private List<Constraints> criteria;
15

    
16
    public SelectionConstraints() {
17
    }
18

    
19

    
20
    public List<Constraints> getCriteria() {
21
        return criteria;
22
    }
23

    
24
    public void setCriteria(List<Constraints> criteria) {
25
        this.criteria = criteria;
26
    }
27

    
28
    public void setSc(String json){
29
        Type collectionType = new TypeToken<Collection<Constraints>>(){}.getType();
30
        criteria = new Gson().fromJson(json, collectionType);
31
    }
32

    
33
    //Constraints in or
34
    public boolean verifyCriteria(final Map<String, List<String>> param){
35
        for(Constraints selc : criteria) {
36
            if(selc.verifyCriteria(param)){
37
                return true;
38
            }
39
        }
40
        return false;
41
    }
42
    public void setSelection(VerbResolver resolver) {
43

    
44
        for(Constraints cs : criteria){
45
            cs.setSelection(resolver);
46
        }
47
    }
48
}
(8-8/9)