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 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"); } }