package org.raidenjpa.query.parser;
import java.util.ArrayList;
import java.util.List;
public class OrderByClause {
private List<OrderByElement> elements = new ArrayList<OrderByElement>();
public void parse(QueryWords words) {
if (!words.hasMoreWord() || !words.current().equalsIgnoreCase("ORDER")) {
return;
}
words.next(); // ORDER
do {
words.next();
String path = words.next();
String orientation = "ASC";
if (words.hasMoreWord() && (words.current().equalsIgnoreCase("ASC") || words.current().equalsIgnoreCase("DESC"))) {
orientation = words.next();
}
elements.add(new OrderByElement(path, orientation));
} while(words.hasMoreOrderByElements());
}
public List<OrderByElement> getElements() {
return elements;
}
}