Package com.dooapp.gaedo.google.datastore

Source Code of com.dooapp.gaedo.google.datastore.ClassicalQuery

package com.dooapp.gaedo.google.datastore;

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.FetchOptions;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;

/**
* Embedds a query and associated prepared query to run on datastore
* @author ndx
*
*/
public class ClassicalQuery implements DataStoreExecutableQuery {
  /**
   * PreparedQuery that will be executed
   */
  private PreparedQuery query;

  public ClassicalQuery(DatastoreService datastore, Query query) {
    this.query = datastore.prepare(query);
  }

  @Override
  public int count() {
    return query.countEntities();
  }

  @Override
  public Iterable<Entity> getAll(int start, int end) {
    FetchOptions fetchOptions = FetchOptions.Builder.withOffset(start).limit(end);
    return query.asIterable(fetchOptions);
  }

  @Override
  public Iterable<Entity> getAll() {
    return query.asIterable();
  }

  @Override
  public Entity getEntity() {
    return query.asSingleEntity();
  }

}
TOP

Related Classes of com.dooapp.gaedo.google.datastore.ClassicalQuery

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.