All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bq.oss.lib.queries.request.Count Maven / Gradle / Ivy

package com.bq.oss.lib.queries.request;

import java.util.List;

import com.bq.oss.lib.queries.BooleanQueryLiteral;
import com.bq.oss.lib.queries.QueryNodeImpl;

/**
 * @author Rubén Carrasco
 *
 */
public class Count extends FieldAggregation {

    private static final String ALL = "*";

    public Count(String field) {
        super(field);
    }

    @Override
    public List operate(List resourceQueries) {
        resourceQueries = super.operate(resourceQueries);
        if (!field.equals(ALL)) {
            BooleanQueryLiteral literal = new BooleanQueryLiteral();
            literal.setLiteral(true);
            QueryNodeImpl queryNode = new QueryNodeImpl(QueryOperator.$EXISTS, field, literal);

            for (ResourceQuery resourceQuery : resourceQueries) {
                resourceQuery.addQueryNode(queryNode);
            }
        }
        return resourceQueries;
    };

    @Override
    public AggregationOperator getOperator() {
        return AggregationOperator.$COUNT;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy