For use by repository implementations, representing the values of a query.
The implementations of these objects are be provided by the underlying persistor/object store; consult its documentation.
Implementations are expected to implement the {@link #getStart()} and {@link #getCount()} methods, which are used to support range / pagingthe data. Returned result sets are expected to start from index "start", and no more than "count" items are expected.
Note: that not every object store will necessarily support this interface. In particular, the in-memory object store does not. For this, you can use the {@link Predicate} interface to similar effect, for example in{@link DomainObjectContainer#allMatches(Class,Predicate,long)}). Note that the predicate is applied within the {@link DomainObjectContainer} (ie client-side)rather than being pushed back to the object store.