1 // Copyright 2009 Google Inc. All rights reserved.
3 package com
.google
.appengine
.api
.datastore
;
5 import static com
.google
.appengine
.api
.datastore
.FetchOptions
.Builder
.withDefaults
;
7 import java
.util
.Iterator
;
10 * A base implementations for a PreparedQuery.
12 * <p>This class forwards all calls to {@link PreparedQuery#
13 * asIterator(FetchOptions)}/{@link PreparedQuery#
14 * asQueryResultIterator(FetchOptions)} and {@link PreparedQuery
15 * #asList(FetchOptions)}/{@link PreparedQuery#asQueryResultList(FetchOptions)}
16 * which need to be implemented in a sub class.
19 abstract class BasePreparedQuery
implements PreparedQuery
{
21 public Iterable
<Entity
> asIterable(final FetchOptions fetchOptions
) {
22 return new Iterable
<Entity
>() {
24 public Iterator
<Entity
> iterator() {
25 return asIterator(fetchOptions
);
31 public Iterable
<Entity
> asIterable() {
32 return asIterable(withDefaults());
36 public Iterator
<Entity
> asIterator() {
37 return asIterator(withDefaults());
41 public QueryResultIterable
<Entity
> asQueryResultIterable(final FetchOptions fetchOptions
) {
42 return new QueryResultIterable
<Entity
>() {
44 public QueryResultIterator
<Entity
> iterator() {
45 return asQueryResultIterator(fetchOptions
);
51 public QueryResultIterable
<Entity
> asQueryResultIterable() {
52 return asQueryResultIterable(withDefaults());
56 public QueryResultIterator
<Entity
> asQueryResultIterator() {
57 return asQueryResultIterator(withDefaults());
62 public int countEntities() {
63 return countEntities(withDefaults().limit(1000));