35 lines
1002 B
Java
35 lines
1002 B
Java
package eu.eudat.models.helpers.common;
|
|
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Created by ikalyvas on 1/25/2018.
|
|
*/
|
|
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");
|
|
}
|
|
}
|