Package org.jbpm.services.api.query
Interface QueryService
-
- All Known Subinterfaces:
QueryServiceEJBLocal,QueryServiceEJBRemote
- All Known Implementing Classes:
QueryServiceCDIImpl,QueryServiceEJBImpl,QueryServiceImpl
public interface QueryServiceAdvanced queries service that allows to register custom queries that will be equipped with tailored capabilities of querying data.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<QueryDefinition>getQueries(org.kie.api.runtime.query.QueryContext queryContext)Returns list of query definitions registered in the systemQueryDefinitiongetQuery(String uniqueQueryName)Returns query definition details that is registered under given uniqueQueryName<T> Tquery(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParam... filterParams)Performs query on given query definition that had to be previously registered.<T> Tquery(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParamBuilder<?> paramBuilder)Performs query on given query definition that had to be previously registered.voidregisterQuery(QueryDefinition queryDefinition)Registers new query definition in the system so it can be used for executing queries on top of it.voidreplaceQuery(QueryDefinition queryDefinition)Registers or replaces existing query.voidunregisterQuery(String uniqueQueryName)Removes the query definition from the system
-
-
-
Method Detail
-
registerQuery
void registerQuery(QueryDefinition queryDefinition) throws QueryAlreadyRegisteredException
Registers new query definition in the system so it can be used for executing queries on top of it.- Parameters:
queryDefinition- definition of the query to be registered- Throws:
QueryAlreadyRegisteredException- in case there is already query registered with given name (queryDefinition.getName())
-
replaceQuery
void replaceQuery(QueryDefinition queryDefinition)
Registers or replaces existing query. Similar to whatregisterQuerydoes, though it won't throw exception in case there is already query registered but simply replace it.- Parameters:
queryDefinition- definition of the query to be registered/replaced
-
unregisterQuery
void unregisterQuery(String uniqueQueryName) throws QueryNotFoundException
Removes the query definition from the system- Parameters:
uniqueQueryName- unique name that query was registered under- Throws:
QueryNotFoundException- in case there is no such query registered
-
getQuery
QueryDefinition getQuery(String uniqueQueryName) throws QueryNotFoundException
Returns query definition details that is registered under given uniqueQueryName- Parameters:
uniqueQueryName- unique name that query was registered under- Returns:
- query definition details if found
- Throws:
QueryNotFoundException- in case there is no such query registered
-
getQueries
List<QueryDefinition> getQueries(org.kie.api.runtime.query.QueryContext queryContext)
Returns list of query definitions registered in the system- Parameters:
queryContext- provides pagnition information for the query- Returns:
- returns list of found queries
-
query
<T> T query(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParam... filterParams) throws QueryNotFoundException
Performs query on given query definition that had to be previously registered. Results will be mapped by givenmapperand:- sorting and paging will be applied based on
queryContext - filtering of results will be done based on
filterParamsif given
- Parameters:
queryName- unique name that query was registered undermapper- type of theQueryResultMapperto map raw data set into list of objectsqueryContext- query context carrying paging and sorting detailsfilterParams- additional filter parameters to narrow down the result- Returns:
- results mapped to objects from raw data set
- Throws:
QueryNotFoundException- in case there is no such query registered
- sorting and paging will be applied based on
-
query
<T> T query(String queryName, QueryResultMapper<T> mapper, org.kie.api.runtime.query.QueryContext queryContext, QueryParamBuilder<?> paramBuilder) throws QueryNotFoundException
Performs query on given query definition that had to be previously registered. Results will be mapped by givenmapperand:- sorting and paging will be applied based on
queryContext - filtering of results will be done based on
paramBuilderwhich is an implementation ofQueryParamBuilderfor building advanced filters
- Parameters:
queryName- unique name that query was registered undermapper- type of theQueryResultMapperto map raw data set into list of objectsqueryContext- query context carrying paging and sorting detailsparamBuilder- implementation ofQueryParamBuilderthat allows to build custom filters in advanced way- Returns:
- results mapped to objects from raw data set
- Throws:
QueryNotFoundException- in case there is no such query registered
- sorting and paging will be applied based on
-
-