Class CaseQuery
- Direct Known Subclasses:
CaseQuery.AggregationQuery
,CaseQuery.FilterLink
,CaseQuery.GroupByQuery
,CaseQuery.OrderByQuery
Provides a query builder to query case
data of
the current workflow context
.
To execute the query use ICaseQueryExecutor
.
See ivy.wf.getCaseQueryExecutor()
Example how to filter and order data:
Example how to aggregate and group data:
import ch.ivyteam.ivy.workflow.query.CaseQuery;
CaseQuery caseQuery = CaseQuery.businessCases();
List<ICase> cases = caseQuery.where().customVarCharField1().isEqual("Hello")
.and().customVarCharField2().isEqual("World")
.orderBy().name().ascending()
.executor().results();
import ch.ivyteam.ivy.workflow.query.CaseQuery;
CaseQuery caseQuery = CaseQuery.businessCases();
Recordset recordset = caseQuery.aggregate().sumCustomDecimalField1()
.groupBy().customVarCharField1()
.executor().recordset();
recordset.getField(0, 0); // Sum of the group
recordset.getField(0, 1); // Name of the group
Note, that a CaseQuery by default returns only cases of the
current workflow context
.
It is not necessary to explicit filter the cases with CaseQuery.IFilterableColumns.applicationId()
as this is already implicitly done by the CaseQuery itself.
- API:
- This is a public API.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
This class provides methods to perform aggregations on the query.static class
class
Provides filter functionality forICase
class
Provides methods to group the result by certain fields.static interface
Provides methods to perform aggregations on the query.static interface
static interface
static interface
static interface
Basic filter functionality provider for a column ofICase
static interface
Provides aggregation functionality for custom fields ofICase
.static interface
Provides filter functionality for custom fields ofICase
.static interface
Provides grouping functionality for custom fields ofICase
.static interface
Provides ordering functionality for custom fields ofICase
.static interface
Provides filter functionality for a date column ofICase
static interface
Provides filter functionality forICase
static interface
Links a where condition with another.static interface
Provides filter functionality forICase
static interface
Provides methods to group the result by certain fields.static interface
Provides filter functionality for an integer column ofICase
static interface
Provides filter functionality for a decimal number column ofICase
static interface
Provides methods to order the result by columns ofICase
.static interface
Provides filter functionality for columns ofICase
that can be filter by string patterns (isLike)static interface
Provides filter functionality for a string column ofICase
static interface
Provides filter functionality for aWorkflowPriority
column ofICase
class
Provides methods to define the direction of the sorting either ascending or descending.class
Provides methods to order the result by columns ofICase
. -
Method Summary
Modifier and TypeMethodDescriptionReturns an object which contains the aggregation part for this query.
It provides methods to perform aggregations on the query.static CaseQuery
Creates a new query that only returns business cases.static CaseQuery
create()
Creates a new query
For performance reasons you should always preferbusinessCases()
orsubCases()
if you only need one of those.executor()
Provides a fluent API to execute this query and fetch its results.groupBy()
Returns an object which contains the group by part for this query.
It provides methods to group the result by certain fields.orderBy()
Returns an object which contains the order by part for this query.
It provides methods to order the result by certain columns.static CaseQuery
subCases()
Creates a new query that only returns sub cases (technical cases).where()
Returns an object which contains the where part for this query.
It provides methods to filter the result by certain columns.
-
Method Details
-
create
Creates a new query
For performance reasons you should always preferbusinessCases()
orsubCases()
if you only need one of those.- Returns:
- A new instance of CaseQuery
- See Also:
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
businessCases
Creates a new query that only returns business cases.- Returns:
- A new instance of CaseQuery
- See Also:
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
subCases
Creates a new query that only returns sub cases (technical cases).- Returns:
- A new instance of CaseQuery
- See Also:
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
executor
Provides a fluent API to execute this query and fetch its results.
- Returns:
- fluent API to execute this query.
- API:
- This public API is available in IvyScript and Java. It has the visibility NOVICE.
-
aggregate
Returns an object which contains the aggregation part for this query.
It provides methods to perform aggregations on the query. For each aggregation a column is added to the result set.Example:
Corresponds to SQL:CaseQuery.businessCases().aggregate().sumWorkingTime().avgWorkingTime();
SELECT SUM(WorkingTime) AS SumWorkingTime, AVG(WorkingTime) AS AvgWorkingTime FROM IWA_Case
- Returns:
- aggregate query
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
groupBy
Returns an object which contains the group by part for this query.
It provides methods to group the result by certain fields.Example:
Corresponds to SQL:CaseQuery.businessCases().groupBy().ownerRoleId().ownerName().aggregate().countRows();
SELECT OwnerRoleId, OwnerUserId, Count(*) AS Count FROM IWA_Case GROUP BY OwnerRoleId, OwnerUserId
- Returns:
- A query group by builder to add group by statements
- See Also:
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
orderBy
Returns an object which contains the order by part for this query.
It provides methods to order the result by certain columns.- Returns:
- An order by query builder to add order by statements
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-
where
Returns an object which contains the where part for this query.
It provides methods to filter the result by certain columns.- Returns:
- An filter query builder to add where statements
- API:
- This public API is available in IvyScript and Java. It has the visibility EXPERT.
-