/* * Copyright 2004-2010 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.slim3.datastore; import java.util.Iterator; import java.util.List; import com.google.appengine.api.datastore.AsyncDatastoreService; import com.google.appengine.api.datastore.Entity; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.QueryResultIterator; import com.google.appengine.api.datastore.QueryResultList; import com.google.appengine.api.datastore.Transaction; /** * A query for datastore entity. * * @author higa * @since 1.0.0 * */ public class EntityQuery extends AbstractQuery<EntityQuery> { /** * Constructor. * * @param ds * the asynchronous datastore service * @param kind * the kind * @throws NullPointerException * if the ds parameter is null or if the kind parameter is null * */ public EntityQuery(AsyncDatastoreService ds, String kind) throws NullPointerException { super(ds, kind); } /** * Constructor. * * @param ds * the asynchronous datastore service * @param kind * the kind * @param ancestorKey * the ancestor key * @throws NullPointerException * if the ds parameter is null or if the kind parameter is null * or if the ancestorKey parameter is null * */ public EntityQuery(AsyncDatastoreService ds, String kind, Key ancestorKey) throws NullPointerException { super(ds, kind, ancestorKey); } /** * Constructor. * * @param ds * the asynchronous datastore service * @param tx * the transaction * @param kind * the kind * @param ancestorKey * the ancestor key * @throws NullPointerException * if the ds parameter is null if the kind parameter is null or * if the ancestorKey parameter is null * */ public EntityQuery(AsyncDatastoreService ds, Transaction tx, String kind, Key ancestorKey) throws NullPointerException { super(ds, kind, ancestorKey); setTx(tx); } /** * Returns entities as a list. * * @return entities as a list */ public List<Entity> asList() { return super.asEntityList(); } /** * Returns a query result list. * * @return a query result list */ public QueryResultList<Entity> asQueryResultList() { return super.asQueryResultEntityList(); } /** * Returns a query result iterator. * * @return a query result iterator */ public QueryResultIterator<Entity> asQueryResultIterator() { return super.asQueryResultEntityIterator(); } @Override public Entity asSingleEntity() { return super.asSingleEntity(); } /** * Returns entities as {@link Iterable}. * * @return entities as {@link Iterable} */ public Iterable<Entity> asIterable() { return super.asIterableEntities(); } /** * Returns entities as {@link Iterator}. * * @return entities as {@link Iterator} */ public Iterator<Entity> asIterator() { return asEntityIterator(); } @SuppressWarnings("unchecked") @Override public <T> T min(String propertyName) throws NullPointerException { return (T) super.min(propertyName); } @SuppressWarnings("unchecked") @Override public <T> T max(String propertyName) throws NullPointerException { return (T) super.max(propertyName); } }