/** * Construct a new instance. * * @param namespace the database and collection namespace for the operation. * @param pipeline the aggregation pipeline. * @param decoder the decoder for the result documents. * @param aggregationLevel the aggregation level * @since 3.10 */ public AggregateOperation(final MongoNamespace namespace, final List<BsonDocument> pipeline, final Decoder<T> decoder, final AggregationLevel aggregationLevel) { this.wrapped = new AggregateOperationImpl<T>(namespace, pipeline, decoder, aggregationLevel); }
/** * Construct a new instance. * * @param namespace the database and collection namespace for the operation. * @param fullDocument the fullDocument value * @param pipeline the aggregation pipeline. * @param decoder the decoder for the result documents. * @param changeStreamLevel the level at which the change stream is observing * * @since 3.8 */ public ChangeStreamOperation(final MongoNamespace namespace, final FullDocument fullDocument, final List<BsonDocument> pipeline, final Decoder<T> decoder, final ChangeStreamLevel changeStreamLevel) { this.wrapped = new AggregateOperationImpl<RawBsonDocument>(namespace, pipeline, RAW_BSON_DOCUMENT_CODEC, getAggregateTarget(), getPipelineCreator()); this.fullDocument = notNull("fullDocument", fullDocument); this.decoder = notNull("decoder", decoder); this.changeStreamLevel = notNull("changeStreamLevel", changeStreamLevel); }
/** * Construct a new instance. * * @param namespace the database and collection namespace for the operation. * @param pipeline the aggregation pipeline. * @param decoder the decoder for the result documents. * @param aggregationLevel the aggregation level * @since 3.10 */ public AggregateOperation(final MongoNamespace namespace, final List<BsonDocument> pipeline, final Decoder<T> decoder, final AggregationLevel aggregationLevel) { this.wrapped = new AggregateOperationImpl<T>(namespace, pipeline, decoder, aggregationLevel); }
/** * Construct a new instance. * * @param namespace the database and collection namespace for the operation. * @param fullDocument the fullDocument value * @param pipeline the aggregation pipeline. * @param decoder the decoder for the result documents. * @param changeStreamLevel the level at which the change stream is observing * * @since 3.8 */ public ChangeStreamOperation(final MongoNamespace namespace, final FullDocument fullDocument, final List<BsonDocument> pipeline, final Decoder<T> decoder, final ChangeStreamLevel changeStreamLevel) { this.wrapped = new AggregateOperationImpl<RawBsonDocument>(namespace, pipeline, RAW_BSON_DOCUMENT_CODEC, getAggregateTarget(), getPipelineCreator()); this.fullDocument = notNull("fullDocument", fullDocument); this.decoder = notNull("decoder", decoder); this.changeStreamLevel = notNull("changeStreamLevel", changeStreamLevel); }