argos/dmp-backend/src/main/java/eu/eudat/models/helpers/common/ColumnOrderings.java

33 lines
958 B
Java

package eu.eudat.models.helpers.common;
import java.util.LinkedList;
import java.util.List;
public class ColumnOrderings {
private String[] fields;
public String[] getFields() {
return fields;
}
public void setFields(String[] fields) {
this.fields = fields;
}
public Ordering[] getFieldOrderings() throws Exception {
List<Ordering> orderings = new LinkedList<>();
for(String field : fields){
orderings.add(this.orderingFromString(field));
}
return orderings.toArray(new Ordering[orderings.size()]);
}
private Ordering orderingFromString(String field) throws Exception {
if(field.startsWith("+")) return new Ordering(field.replace("+",""), Ordering.OrderByType.ASC);
else if(field.startsWith("-")) return new Ordering(field.replace("-",""), Ordering.OrderByType.DESC);
else throw new Exception("Unsupported Field Order Type");
}
}