@@ -29,6 +29,7 @@ import org.springframework.data.mongodb.core.mapreduce.GroupByResults
29
29
import org.springframework.data.mongodb.core.mapreduce.MapReduceOptions
30
30
import org.springframework.data.mongodb.core.mapreduce.MapReduceResults
31
31
import org.springframework.data.mongodb.core.query.Criteria
32
+ import org.springframework.data.mongodb.core.query.GenericQuery
32
33
import org.springframework.data.mongodb.core.query.NearQuery
33
34
import org.springframework.data.mongodb.core.query.Query
34
35
import org.springframework.data.mongodb.core.query.Update
@@ -68,18 +69,18 @@ inline fun <reified T : Any> MongoOperations.execute(action: CollectionCallback<
68
69
* @author Sebastien Deleuze
69
70
* @since 2.0
70
71
*/
71
- inline fun <reified T : Any > MongoOperations.stream (query : Query ): CloseableIterator <T > =
72
- stream(query, T ::class .java)
72
+ inline fun <reified T : Any > MongoOperations.stream (genericQuery : GenericQuery < T > ): CloseableIterator <T > =
73
+ stream(genericQuery. query, T ::class .java)
73
74
74
75
/* *
75
76
* Extension for [MongoOperations.stream] leveraging reified type parameters.
76
77
*
77
78
* @author Sebastien Deleuze
78
79
* @since 2.0
79
80
*/
80
- inline fun <reified T : Any > MongoOperations.stream (query : Query , collectionName : String? = null): CloseableIterator <T > =
81
- if (collectionName != null ) stream(query, T ::class .java, collectionName)
82
- else stream(query, T ::class .java)
81
+ inline fun <reified T : Any > MongoOperations.stream (genericQuery : GenericQuery < T > , collectionName : String? = null): CloseableIterator <T > =
82
+ if (collectionName != null ) stream(genericQuery. query, T ::class .java, collectionName)
83
+ else stream(genericQuery. query, T ::class .java)
83
84
84
85
/* *
85
86
* Extension for [MongoOperations.createCollection] providing a [KClass] based variant.
@@ -258,9 +259,9 @@ inline fun <reified T : Any> MongoOperations.mapReduce(collectionName: String, m
258
259
* @author Sebastien Deleuze
259
260
* @since 52.0
260
261
*/
261
- inline fun <reified T : Any > MongoOperations.mapReduce (query : Query , collectionName : String , mapFunction : String , reduceFunction : String , options : MapReduceOptions ? = null): MapReduceResults <T > =
262
- if (options != null ) mapReduce(query, collectionName, mapFunction, reduceFunction, options, T ::class .java)
263
- else mapReduce(query, collectionName, mapFunction, reduceFunction, T ::class .java)
262
+ inline fun <reified T : Any > MongoOperations.mapReduce (genericQuery : GenericQuery < T > , collectionName : String , mapFunction : String , reduceFunction : String , options : MapReduceOptions ? = null): MapReduceResults <T > =
263
+ if (options != null ) mapReduce(genericQuery. query, collectionName, mapFunction, reduceFunction, options, T ::class .java)
264
+ else mapReduce(genericQuery. query, collectionName, mapFunction, reduceFunction, T ::class .java)
264
265
265
266
/* *
266
267
* Extension for [MongoOperations.geoNear] leveraging reified type parameters.
@@ -278,18 +279,18 @@ inline fun <reified T : Any> MongoOperations.geoNear(near: NearQuery, collection
278
279
* @author Sebastien Deleuze
279
280
* @since 2.0
280
281
*/
281
- inline fun <reified T : Any > MongoOperations.findOne (query : Query , collectionName : String? = null): T ? =
282
- if (collectionName != null ) findOne(query, T ::class .java, collectionName) else findOne(query, T ::class .java)
282
+ inline fun <reified T : Any > MongoOperations.findOne (genericQuery : GenericQuery < T > , collectionName : String? = null): T ? =
283
+ if (collectionName != null ) findOne(genericQuery. query, T ::class .java, collectionName) else findOne(genericQuery. query, T ::class .java)
283
284
284
285
/* *
285
286
* Extension for [MongoOperations.exists] providing a [KClass] based variant.
286
287
*
287
288
* @author Sebastien Deleuze
288
289
* @since 2.0
289
290
*/
290
- fun <T : Any > MongoOperations.exists (query : Query , entityClass : KClass <T >, collectionName : String? = null): Boolean =
291
- if (collectionName != null ) exists(query, entityClass.java, collectionName)
292
- else exists(query, entityClass.java)
291
+ fun <T : Any > MongoOperations.exists (genericQuery : GenericQuery < T > , entityClass : KClass <T >, collectionName : String? = null): Boolean =
292
+ if (collectionName != null ) exists(genericQuery. query, entityClass.java, collectionName)
293
+ else exists(genericQuery. query, entityClass.java)
293
294
294
295
/* *
295
296
* Extension for [MongoOperations.exists] leveraging reified type parameters.
@@ -298,19 +299,19 @@ fun <T : Any> MongoOperations.exists(query: Query, entityClass: KClass<T>, colle
298
299
* @since 2.0
299
300
*/
300
301
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
301
- inline fun <reified T : Any > MongoOperations.exists (query : Query , collectionName : String? = null): Boolean =
302
- if (collectionName != null ) exists(query, T ::class .java, collectionName)
303
- else exists(query, T ::class .java)
302
+ inline fun <reified T : Any > MongoOperations.exists (genericQuery : GenericQuery < T > , collectionName : String? = null): Boolean =
303
+ if (collectionName != null ) exists(genericQuery. query, T ::class .java, collectionName)
304
+ else exists(genericQuery. query, T ::class .java)
304
305
305
306
/* *
306
307
* Extension for [MongoOperations.find] leveraging reified type parameters.
307
308
*
308
309
* @author Sebastien Deleuze
309
310
* @since 2.0
310
311
*/
311
- inline fun <reified T : Any > MongoOperations.find (query : Query , collectionName : String? = null): List <T > =
312
- if (collectionName != null ) find(query, T ::class .java, collectionName)
313
- else find(query, T ::class .java)
312
+ inline fun <reified T : Any > MongoOperations.find (genericQuery : GenericQuery < T > , collectionName : String? = null): List <T > =
313
+ if (collectionName != null ) find(genericQuery. query, T ::class .java, collectionName)
314
+ else find(genericQuery. query, T ::class .java)
314
315
315
316
/* *
316
317
* Extension for [MongoOperations.findById] leveraging reified type parameters.
@@ -337,17 +338,17 @@ inline fun <reified T : Any> MongoOperations.findDistinct(field: String, entityC
337
338
* @author Christoph Strobl
338
339
* @since 2.1
339
340
*/
340
- inline fun <reified T : Any > MongoOperations.findDistinct (query : Query , field : String , entityClass : KClass <* >): List <T > =
341
- findDistinct(query, field, entityClass.java, T ::class .java)
341
+ inline fun <reified T : Any > MongoOperations.findDistinct (genericQuery : GenericQuery < T > , field : String , entityClass : KClass <* >): List <T > =
342
+ findDistinct(genericQuery. query, field, entityClass.java, T ::class .java)
342
343
343
344
/* *
344
345
* Extension for [MongoOperations.findDistinct] leveraging reified type parameters.
345
346
*
346
347
* @author Christoph Strobl
347
348
* @since 2.1
348
349
*/
349
- inline fun <reified T : Any > MongoOperations.findDistinct (query : Query , field : String , collectionName : String , entityClass : KClass <* >): List <T > =
350
- findDistinct(query, field, collectionName, entityClass.java, T ::class .java)
350
+ inline fun <reified T : Any > MongoOperations.findDistinct (genericQuery : GenericQuery < T > , field : String , collectionName : String , entityClass : KClass <* >): List <T > =
351
+ findDistinct(genericQuery. query, field, collectionName, entityClass.java, T ::class .java)
351
352
352
353
/* *
353
354
* Extension for [MongoOperations.findDistinct] leveraging reified type parameters.
@@ -356,39 +357,39 @@ inline fun <reified T : Any> MongoOperations.findDistinct(query: Query, field: S
356
357
* @author Mark Paluch
357
358
* @since 2.1
358
359
*/
359
- inline fun <reified T : Any , reified E : Any > MongoOperations.findDistinct (query : Query , field : String , collectionName : String? = null): List <T > =
360
- if (collectionName != null ) findDistinct(query, field, collectionName, E ::class .java, T ::class .java)
361
- else findDistinct(query, field, E ::class .java, T ::class .java)
360
+ inline fun <reified T : Any , reified E : Any > MongoOperations.findDistinct (genericQuery : GenericQuery < T > , field : String , collectionName : String? = null): List <T > =
361
+ if (collectionName != null ) findDistinct(genericQuery. query, field, collectionName, E ::class .java, T ::class .java)
362
+ else findDistinct(genericQuery. query, field, E ::class .java, T ::class .java)
362
363
363
364
/* *
364
365
* Extension for [MongoOperations.findAndModify] leveraging reified type parameters.
365
366
*
366
367
* @author Sebastien Deleuze
367
368
* @since 2.0
368
369
*/
369
- inline fun <reified T : Any > MongoOperations.findAndModify (query : Query , update : Update , options : FindAndModifyOptions , collectionName : String? = null): T ? =
370
- if (collectionName != null ) findAndModify(query, update, options, T ::class .java, collectionName)
371
- else findAndModify(query, update, options, T ::class .java)
370
+ inline fun <reified T : Any > MongoOperations.findAndModify (genericQuery : GenericQuery < T > , update : Update , options : FindAndModifyOptions , collectionName : String? = null): T ? =
371
+ if (collectionName != null ) findAndModify(genericQuery. query, update, options, T ::class .java, collectionName)
372
+ else findAndModify(genericQuery. query, update, options, T ::class .java)
372
373
373
374
/* *
374
375
* Extension for [MongoOperations.findAndRemove] leveraging reified type parameters.
375
376
*
376
377
* @author Sebastien Deleuze
377
378
* @since 2.0
378
379
*/
379
- inline fun <reified T : Any > MongoOperations.findAndRemove (query : Query , collectionName : String? = null): T ? =
380
- if (collectionName != null ) findAndRemove(query, T ::class .java, collectionName)
381
- else findAndRemove(query, T ::class .java)
380
+ inline fun <reified T : Any > MongoOperations.findAndRemove (genericQuery : GenericQuery < T > , collectionName : String? = null): T ? =
381
+ if (collectionName != null ) findAndRemove(genericQuery. query, T ::class .java, collectionName)
382
+ else findAndRemove(genericQuery. query, T ::class .java)
382
383
383
384
/* *
384
385
* Extension for [MongoOperations.count] providing a [KClass] based variant.
385
386
*
386
387
* @author Sebastien Deleuze
387
388
* @since 2.0
388
389
*/
389
- fun <T : Any > MongoOperations.count (query : Query = Query (), entityClass : KClass <T >, collectionName : String? = null): Long =
390
- if (collectionName != null ) count(query, entityClass.java, collectionName)
391
- else count(query, entityClass.java)
390
+ fun <T : Any > MongoOperations.count (genericQuery : GenericQuery < T > = Query (), entityClass : KClass <T >, collectionName : String? = null): Long =
391
+ if (collectionName != null ) count(genericQuery. query, entityClass.java, collectionName)
392
+ else count(genericQuery. query, entityClass.java)
392
393
393
394
/* *
394
395
* Extension for [MongoOperations.count] leveraging reified type parameters.
@@ -397,8 +398,8 @@ fun <T : Any> MongoOperations.count(query: Query = Query(), entityClass: KClass<
397
398
* @since 2.0
398
399
*/
399
400
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
400
- inline fun <reified T : Any > MongoOperations.count (query : Query = Query (), collectionName : String? = null): Long =
401
- if (collectionName != null ) count(query, T ::class .java, collectionName) else count(query, T ::class .java)
401
+ inline fun <reified T : Any > MongoOperations.count (genericQuery : GenericQuery < T > = Query (), collectionName : String? = null): Long =
402
+ if (collectionName != null ) count(genericQuery. query, T ::class .java, collectionName) else count(genericQuery. query, T ::class .java)
402
403
403
404
/* *
404
405
* Extension for [MongoOperations.insert] providing a [KClass] based variant.
@@ -416,9 +417,9 @@ fun <T : Any> MongoOperations.insert(batchToSave: Collection<T>, entityClass: KC
416
417
* @author Sebastien Deleuze
417
418
* @since 2.0
418
419
*/
419
- fun <T : Any > MongoOperations.upsert (query : Query , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
420
- if (collectionName != null ) upsert(query, update, entityClass.java, collectionName)
421
- else upsert(query, update, entityClass.java)
420
+ fun <T : Any > MongoOperations.upsert (genericQuery : GenericQuery < T > , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
421
+ if (collectionName != null ) upsert(genericQuery. query, update, entityClass.java, collectionName)
422
+ else upsert(genericQuery. query, update, entityClass.java)
422
423
423
424
/* *
424
425
* Extension for [MongoOperations.upsert] leveraging reified type parameters.
@@ -427,19 +428,19 @@ fun <T : Any> MongoOperations.upsert(query: Query, update: Update, entityClass:
427
428
* @since 2.0
428
429
*/
429
430
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
430
- inline fun <reified T : Any > MongoOperations.upsert (query : Query , update : Update , collectionName : String? = null): UpdateResult =
431
- if (collectionName != null ) upsert(query, update, T ::class .java, collectionName)
432
- else upsert(query, update, T ::class .java)
431
+ inline fun <reified T : Any > MongoOperations.upsert (genericQuery : GenericQuery < T > , update : Update , collectionName : String? = null): UpdateResult =
432
+ if (collectionName != null ) upsert(genericQuery. query, update, T ::class .java, collectionName)
433
+ else upsert(genericQuery. query, update, T ::class .java)
433
434
434
435
/* *
435
436
* Extension for [MongoOperations.updateFirst] providing a [KClass] based variant.
436
437
*
437
438
* @author Sebastien Deleuze
438
439
* @since 2.0
439
440
*/
440
- fun <T : Any > MongoOperations.updateFirst (query : Query , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
441
- if (collectionName != null ) updateFirst(query, update, entityClass.java, collectionName)
442
- else updateFirst(query, update, entityClass.java)
441
+ fun <T : Any > MongoOperations.updateFirst (genericQuery : GenericQuery < T > , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
442
+ if (collectionName != null ) updateFirst(genericQuery. query, update, entityClass.java, collectionName)
443
+ else updateFirst(genericQuery. query, update, entityClass.java)
443
444
444
445
/* *
445
446
* Extension for [MongoOperations.updateFirst] leveraging reified type parameters.
@@ -448,19 +449,19 @@ fun <T : Any> MongoOperations.updateFirst(query: Query, update: Update, entityCl
448
449
* @since 2.0
449
450
*/
450
451
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
451
- inline fun <reified T : Any > MongoOperations.updateFirst (query : Query , update : Update , collectionName : String? = null): UpdateResult =
452
- if (collectionName != null ) updateFirst(query, update, T ::class .java, collectionName)
453
- else updateFirst(query, update, T ::class .java)
452
+ inline fun <reified T : Any > MongoOperations.updateFirst (genericQuery : GenericQuery < T > , update : Update , collectionName : String? = null): UpdateResult =
453
+ if (collectionName != null ) updateFirst(genericQuery. query, update, T ::class .java, collectionName)
454
+ else updateFirst(genericQuery. query, update, T ::class .java)
454
455
455
456
/* *
456
457
* Extension for [MongoOperations.updateMulti] providing a [KClass] based variant.
457
458
*
458
459
* @author Sebastien Deleuze
459
460
* @since 2.0
460
461
*/
461
- fun <T : Any > MongoOperations.updateMulti (query : Query , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
462
- if (collectionName != null ) updateMulti(query, update, entityClass.java, collectionName)
463
- else updateMulti(query, update, entityClass.java)
462
+ fun <T : Any > MongoOperations.updateMulti (genericQuery : GenericQuery < T > , update : Update , entityClass : KClass <T >, collectionName : String? = null): UpdateResult =
463
+ if (collectionName != null ) updateMulti(genericQuery. query, update, entityClass.java, collectionName)
464
+ else updateMulti(genericQuery. query, update, entityClass.java)
464
465
465
466
/* *
466
467
* Extension for [MongoOperations.updateMulti] leveraging reified type parameters.
@@ -469,19 +470,19 @@ fun <T : Any> MongoOperations.updateMulti(query: Query, update: Update, entityCl
469
470
* @since 2.0
470
471
*/
471
472
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
472
- inline fun <reified T : Any > MongoOperations.updateMulti (query : Query , update : Update , collectionName : String? = null): UpdateResult =
473
- if (collectionName != null ) updateMulti(query, update, T ::class .java, collectionName)
474
- else updateMulti(query, update, T ::class .java)
473
+ inline fun <reified T : Any > MongoOperations.updateMulti (genericQuery : GenericQuery < T > , update : Update , collectionName : String? = null): UpdateResult =
474
+ if (collectionName != null ) updateMulti(genericQuery. query, update, T ::class .java, collectionName)
475
+ else updateMulti(genericQuery. query, update, T ::class .java)
475
476
476
477
/* *
477
478
* Extension for [MongoOperations.remove] providing a [KClass] based variant.
478
479
*
479
480
* @author Sebastien Deleuze
480
481
* @since 2.0
481
482
*/
482
- fun <T : Any > MongoOperations.remove (query : Query , entityClass : KClass <T >, collectionName : String? = null): DeleteResult =
483
- if (collectionName != null ) remove(query, entityClass.java, collectionName)
484
- else remove(query, entityClass.java)
483
+ fun <T : Any > MongoOperations.remove (genericQuery : GenericQuery < T > , entityClass : KClass <T >, collectionName : String? = null): DeleteResult =
484
+ if (collectionName != null ) remove(genericQuery. query, entityClass.java, collectionName)
485
+ else remove(genericQuery. query, entityClass.java)
485
486
486
487
/* *
487
488
* Extension for [MongoOperations.remove] leveraging reified type parameters.
@@ -490,15 +491,15 @@ fun <T : Any> MongoOperations.remove(query: Query, entityClass: KClass<T>, colle
490
491
* @since 2.0
491
492
*/
492
493
@Suppress(" EXTENSION_SHADOWED_BY_MEMBER" )
493
- inline fun <reified T : Any > MongoOperations.remove (query : Query , collectionName : String? = null): DeleteResult =
494
- if (collectionName != null ) remove(query, T ::class .java, collectionName)
495
- else remove(query, T ::class .java)
494
+ inline fun <reified T : Any > MongoOperations.remove (genericQuery : GenericQuery < T > , collectionName : String? = null): DeleteResult =
495
+ if (collectionName != null ) remove(genericQuery. query, T ::class .java, collectionName)
496
+ else remove(genericQuery. query, T ::class .java)
496
497
497
498
/* *
498
499
* Extension for [MongoOperations.findAllAndRemove] leveraging reified type parameters.
499
500
*
500
501
* @author Sebastien Deleuze
501
502
* @since 2.0
502
503
*/
503
- inline fun <reified T : Any > MongoOperations.findAllAndRemove (query : Query ): List <T > =
504
- findAllAndRemove(query, T ::class .java)
504
+ inline fun <reified T : Any > MongoOperations.findAllAndRemove (genericQuery : GenericQuery < T > ): List <T > =
505
+ findAllAndRemove(genericQuery. query, T ::class .java)
0 commit comments