package org.molgenis.data.rsql; import cz.jirutka.rsql.parser.ast.Node; import org.molgenis.data.Entity; import org.molgenis.data.Query; import org.molgenis.data.meta.model.EntityType; /** * Create MOLGENIS Query from RSQL node based on entity meta data. * * @see <a href="https://github.com/jirutka/rsql-parser">https://github.com/jirutka/rsql-parser</a> */ public class QueryRsql { private final Node rootNode; public QueryRsql(Node rootNode) { this.rootNode = rootNode; } public Query<Entity> createQuery(EntityType entityType) { MolgenisRSQLVisitor rsqlVisitor = new MolgenisRSQLVisitor(entityType); return rootNode.accept(rsqlVisitor); } }