package org.socialsignin.spring.data.dynamodb.repository.query;
import java.io.Serializable;
import org.socialsignin.spring.data.dynamodb.core.DynamoDBOperations;
import org.socialsignin.spring.data.dynamodb.query.Query;
import org.socialsignin.spring.data.dynamodb.repository.support.DynamoDBEntityInformation;
import org.springframework.data.domain.Sort;
import org.springframework.data.repository.query.ParameterAccessor;
import org.springframework.data.repository.query.parser.PartTree;
public class DynamoDBCountQueryCreator<T,ID extends Serializable> extends AbstractDynamoDBQueryCreator<T, ID,Long> {
private boolean pageQuery;
public DynamoDBCountQueryCreator(PartTree tree,
DynamoDBEntityInformation<T, ID> entityMetadata,
DynamoDBOperations dynamoDBOperations,boolean pageQuery) {
super(tree, entityMetadata, dynamoDBOperations);
this.pageQuery = pageQuery;
}
public DynamoDBCountQueryCreator(PartTree tree,
ParameterAccessor parameterAccessor,
DynamoDBEntityInformation<T, ID> entityMetadata,
DynamoDBOperations dynamoDBOperations,boolean pageQuery) {
super(tree, parameterAccessor, entityMetadata, dynamoDBOperations);
this.pageQuery = pageQuery;
}
@Override
protected Query<Long> complete(DynamoDBQueryCriteria<T, ID> criteria, Sort sort) {
return criteria.buildCountQuery(dynamoDBOperations,pageQuery);
}
}