package org.springframework.data.simpledb.query.executions;
import org.springframework.data.domain.Page;
import org.springframework.data.simpledb.core.SimpleDbOperations;
import org.springframework.data.simpledb.query.SimpleDbQueryMethod;
import org.springframework.data.simpledb.query.SimpleDbQueryRunner;
import java.util.List;
/**
* Execute a paged query. A paged query may have as a result a {@link Page} or a {@link List}, depending on the method's
* signature in the repository.
*/
public class PagedResultExecution extends AbstractSimpleDbQueryExecution {
public PagedResultExecution(SimpleDbOperations simpleDbOperations) {
super(simpleDbOperations);
}
@Override
protected Object doExecute(SimpleDbQueryMethod queryMethod, SimpleDbQueryRunner queryRunner) {
final Page<?> pagedResult = queryRunner.executePagedQuery();
if(queryMethod.isPageQuery()) {
return pagedResult;
}
return pagedResult.getContent();
}
}