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
//    private VerbResolver resolver;
16
//
17
//    public VerbResolver getResolver() {
18
//        return resolver;
19
//    }
20

    
21
    public SelectionConstraints() {
22
    }
23

    
24
    public List<Constraints> getCriteria() {
25
        return criteria;
26
    }
27

    
28
    public void setCriteria(List<Constraints> criteria) {
29
        this.criteria = criteria;
30
    }
31

    
32
    public void setSc(String json){
33
        Type collectionType = new TypeToken<Collection<Constraints>>(){}.getType();
34
        criteria = new Gson().fromJson(json, collectionType);
35
    }
36

    
37
    //Constraints in or
38
//    public boolean verifyCriteria(Map<String,String> param){
39
//        for(Constraints selc: criteria){
40
//            if(selc.verifyCriteria(param)){
41
//                return true;
42
//            }
43
//        }
44
//        return false;
45
//    }
46

    
47
    public boolean verifyCriteria(Map<String,List<String>> param){
48
        for(Constraints selc: criteria){
49
            if(selc.verifyCriteria(param)){
50
                return true;
51
            }
52
        }
53
        return false;
54
    }
55
    public void setSelection(VerbResolver resolver) {
56

    
57
        for(Constraints cs : criteria){
58
            cs.setSelection(resolver);
59
        }
60
    }
61
}
(7-7/9)