The ENEQueryResults class from the Presentation API is used to represent results of queries.
QueryState query = getDataSource(request).getQueryState(); query.addFunction(new NavConfig()); QueryResults results = getDataSource(request).execute(query);
You can then get the underlying API results and do whatever manipulation is required by your component.
ENEQueryResults eneResults = results.getENEQueryResults();
You can also make other local modifications to your query state before executing by adding filters or configurations to your query:
QueryState query = getDataSource(request).getQueryState(); query.addFunction(new ResultsConfig()); query.addFunction(new RecordFilter("Region:Midwest")); QueryResults results = getDataSource(request).execute(query);
If you need to make modifications to your query that can't be represented on a QueryState, you can use ENEQuery instances directly:
DataSource ds = getDataSource(request); ENEQuery eneQuery = ds.createENEQuery(); //modify query... ENEQueryResults eneResults = ds.execute(eneQuery);
When you need to update a data source's state so that all associated components are updated, you cannot use ENEQuery instances—you must use QueryState instances.
DataSource ds = getDataSource(request); QueryState query = ds.getQueryState(); query.addOperation(new RecordFilter("Region:Midwest")); ds.setQueryState(query);