Project

General

Profile

1 55917 miriam.bag
package eu.dnetlib.data.bulktag;
2
3 56415 miriam.bag
import com.google.common.reflect.TypeToken;
4 55917 miriam.bag
import com.google.gson.Gson;
5
import eu.dnetlib.data.bulktag.selectioncriteria.VerbResolver;
6
7
import java.io.Serializable;
8 56415 miriam.bag
import java.lang.reflect.Type;
9
import java.util.Collection;
10 55917 miriam.bag
import java.util.List;
11
import java.util.Map;
12
13
public class SelectionConstraints implements Serializable {
14 56415 miriam.bag
    private List<Constraints> criteria;
15 55917 miriam.bag
16
    public SelectionConstraints() {
17
    }
18
19 56415 miriam.bag
20
    public List<Constraints> getCriteria() {
21
        return criteria;
22 55917 miriam.bag
    }
23
24 56415 miriam.bag
    public void setCriteria(List<Constraints> criteria) {
25
        this.criteria = criteria;
26 55917 miriam.bag
    }
27
28
    public void setSc(String json){
29 56415 miriam.bag
        Type collectionType = new TypeToken<Collection<Constraints>>(){}.getType();
30
        criteria = new Gson().fromJson(json, collectionType);
31 55917 miriam.bag
    }
32
33 56415 miriam.bag
    //Constraints in or
34 56494 miriam.bag
    public boolean verifyCriteria(final Map<String, List<String>> param){
35
        for(Constraints selc : criteria) {
36 55917 miriam.bag
            if(selc.verifyCriteria(param)){
37
                return true;
38
            }
39
        }
40
        return false;
41
    }
42
    public void setSelection(VerbResolver resolver) {
43
44 56415 miriam.bag
        for(Constraints cs : criteria){
45 55917 miriam.bag
            cs.setSelection(resolver);
46
        }
47
    }
48
}