org.qi4j.api.query
Interface QueryBuilder<T>


public interface QueryBuilder<T>

QueryBuilders are used to create Query instances. Iteratively add where() clauses to the query, and then use newQuery(org.qi4j.api.unitofwork.UnitOfWork) to instantiate the Query. QueryBuilders are immutable, so when adding new where-clauses you get new instances. This DDD tip: Query objects are not executed immediately, so they should be constructed in the domain model and handed over to the UI, which can then further constrain it before actual execution.


Method Summary
 Query<T> newQuery(Iterable<T> iterable)
          Create a new query with the declared where-clauses that will be evaluated against the iterable entries.
 Query<T> newQuery(UnitOfWork unitOfWork)
          Create a new query with the declared where-clauses.
 QueryBuilder<T> where(BooleanExpression expressions)
          Add a where-clause to the Query.
 

Method Detail

where

QueryBuilder<T> where(BooleanExpression expressions)
Add a where-clause to the Query. Use QueryExpressions to create the expression.

Parameters:
expressions - the where clause
Returns:
a new builder with the added where-clause

newQuery

Query<T> newQuery(UnitOfWork unitOfWork)
Create a new query with the declared where-clauses.

Parameters:
unitOfWork - the UoW in which the query is to be executed
Returns:
a new Query instance

newQuery

Query<T> newQuery(Iterable<T> iterable)
Create a new query with the declared where-clauses that will be evaluated against the iterable entries.

Parameters:
iterable - collection of objects (composites?)
Returns:
a new Query instance