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 UnitOfWork.newQuery(QueryBuilder) 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(java.lang.Iterable<T> iterable)
          Create a new query with the declared where-clauses that will be evaluated against the iterable entries.
 QueryBuilder<T> where(Specification<Composite> specification)
          Add a where-clause to the Query.
 

Method Detail

where

QueryBuilder<T> where(Specification<Composite> specification)
Add a where-clause to the Query. Use QueryExpressions to create the expression.

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

newQuery

Query<T> newQuery(java.lang.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