
prerna.util.gson.QueryCustomOrderByAdapter Maven / Gradle / Ivy
The newest version!
package prerna.util.gson;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import prerna.query.querystruct.selectors.IQuerySelector;
import prerna.query.querystruct.selectors.IQuerySort;
import prerna.query.querystruct.selectors.QueryColumnSelector;
import prerna.query.querystruct.selectors.QueryCustomOrderBy;
public class QueryCustomOrderByAdapter extends AbstractSemossTypeAdapter implements IQuerySortAdapterHelper {
@Override
public QueryCustomOrderBy read(JsonReader in) throws IOException {
if (in.peek() == JsonToken.NULL) {
in.nextNull();
return null;
}
// remove the beginning objects
in.beginObject();
in.nextName();
in.nextString();
in.nextName();
// now we read the actual content
QueryCustomOrderBy value = readContent(in);
in.endObject();
return value;
}
@Override
public QueryCustomOrderBy readContent(JsonReader in) throws IOException {
QueryCustomOrderBy value = new QueryCustomOrderBy();
in.beginObject();
while(in.hasNext()) {
String key = in.nextName();
if(key.equals("columnToSort")) {
IQuerySelectorAdapter selectorAdapter = new IQuerySelectorAdapter();
IQuerySelector selector = selectorAdapter.read(in);
value.setColumnToSort((QueryColumnSelector) selector);
} else if(key.equals("values")) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy