Package org.alfresco.repo.domain.query
Interface CannedQueryDAO
- All Known Implementing Classes:
AbstractCannedQueryDAOImpl,CannedQueryDAOImpl
public interface CannedQueryDAO
DAO services for general-use database canned queries. Note that this is specifically targeted at low-level queries to the persistance layer.
- Since:
- 3.5
- Author:
- Derek Hulley
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA simple, typed results handler. -
Method Summary
Modifier and TypeMethodDescriptionexecuteCountQuery(String sqlNamespace, String queryName, Object parameterObj) Execute a count(*)-style query returning a count value.<R> List<R>executeQuery(String sqlNamespace, String queryName, Object parameterObj, int offset, int limit) Execute a query that returns one or more results.<R> voidexecuteQuery(String sqlNamespace, String queryName, Object parameterObj, int offset, int limit, CannedQueryDAO.ResultHandler<R> handler) Execute a query that returns one or more results, processing the results using a handler.<R> RexecuteQueryUnique(String sqlNamespace, String queryName, Object parameterObj) Execute a query that returns exactly one result.
-
Method Details
-
executeCountQuery
Execute a count(*)-style query returning a count value. The implementation will ensure that null is substituted with 0, if required.All exceptions can be safely caught and handled as required.
- Parameters:
sqlNamespace- the query namespace (defined by config file) e.g. alfresco.query.usagequeryName- the name of the query e.g. select_userCountparameterObj- the values to drive the selection (may be null if not required)- Returns:
- a non-null count
- Throws:
QueryException- if the query returned multiple results
-
executeQueryUnique
Execute a query that returns exactly one result. The assumption is that the parameters provided uniquely identify the object.- Type Parameters:
R- the return value's type- Parameters:
sqlNamespace- the query namespace (defined by config file) e.g. alfresco.query.usagequeryName- the name of the query e.g. select_userCountparameterObj- the values to drive the selection (may be null if not required)- Returns:
- the unique result (never null)
- Throws:
IllegalArgumentException- concurrency-related exception if a single object was not found
-
executeQuery
<R> List<R> executeQuery(String sqlNamespace, String queryName, Object parameterObj, int offset, int limit) Execute a query that returns one or more results.- Type Parameters:
R- the return value's type- Parameters:
sqlNamespace- the query namespace (defined by config file) e.g. alfresco.query.usagequeryName- the name of the query e.g. select_userCountparameterObj- the values to drive the selection (may be null if not required)offset- the number of results to skiplimit- the maximum number of results to retrieve orInteger.MAX_VALUEfor no limit- Returns:
- the list of results
-
executeQuery
<R> void executeQuery(String sqlNamespace, String queryName, Object parameterObj, int offset, int limit, CannedQueryDAO.ResultHandler<R> handler) Execute a query that returns one or more results, processing the results using a handler.- Type Parameters:
R- the return value's type- Parameters:
sqlNamespace- the query namespace (defined by config file) e.g. alfresco.query.usagequeryName- the name of the query e.g. select_userCountparameterObj- the values to drive the selection (may be null if not required)offset- the number of results to skiplimit- the maximum number of results to retrieve orInteger.MAX_VALUEfor no limit
-