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

br.com.anteros.nosql.persistence.mongodb.aggregation.AggregationPipeline Maven / Gradle / Ivy

There is a newer version: 1.0.6
Show newest version
package br.com.anteros.nosql.persistence.mongodb.aggregation;

import com.mongodb.AggregationOptions;
import com.mongodb.ReadPreference;

import br.com.anteros.nosql.persistence.session.query.NoSQLQuery;
import br.com.anteros.nosql.persistence.session.query.Sort;

import java.util.Iterator;
import java.util.List;

public interface AggregationPipeline {

	 Iterator aggregate(Class target);

	 Iterator aggregate(Class target, AggregationOptions options);

	 Iterator aggregate(Class target, AggregationOptions options, ReadPreference readPreference);

	 Iterator aggregate(String collectionName, Class target, AggregationOptions options,
			ReadPreference readPreference);

	AggregationPipeline geoNear(GeoNear geoNear);

	AggregationPipeline group(Group... groupings);

	AggregationPipeline group(String id, Group... groupings);

	AggregationPipeline group(List id, Group... groupings);

	AggregationPipeline limit(int count);

	AggregationPipeline lookup(String from, String localField, String foreignField, String as);

	 AggregationPipeline match(NoSQLQuery query);

	 Iterator out(Class target);

	 Iterator out(Class target, AggregationOptions options);

	 Iterator out(String collectionName, Class target);

	 Iterator out(String collectionName, Class target, AggregationOptions options);

	AggregationPipeline project(Projection... projections);

	AggregationPipeline skip(int count);

	AggregationPipeline sort(Sort... sorts);

	AggregationPipeline unwind(String field);
}