package org.nextprot.api.solr; import java.util.ArrayList; import java.util.List; import org.apache.solr.client.solrj.SolrQuery.ORDER; import org.nextprot.api.commons.utils.Pair; public class SortConfig { private String name; private List<Pair<IndexField, ORDER>> sorting; private int boost = -1; private SortConfig(String name, IndexField field, ORDER order) { this.name = name; this.sorting = new ArrayList<Pair<IndexField,ORDER>>(); this.sorting.add(Pair.create(field, order)); } private SortConfig(String name, IndexField field, ORDER order, int boost) { this(name, field, order); this.boost = boost; } private SortConfig(String name, Pair<IndexField, ORDER>[] sorting) { this.name = name; this.sorting = new ArrayList<Pair<IndexField,ORDER>>(); for(Pair<IndexField, ORDER> p : sorting) this.sorting.add(p); } public static SortConfig create(String name, IndexField field, ORDER order) { return new SortConfig(name, field, order); } public static SortConfig create(String name, IndexField field, ORDER order, int boost) { return new SortConfig(name, field, order, boost); } public static SortConfig create(String name, Pair<IndexField, ORDER>[] sorting) { return new SortConfig(name, sorting); } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Pair<IndexField, ORDER>> getSorting() { return sorting; } public int getBoost() { return boost; } }