diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/BindableMongoExpression.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/BindableMongoExpression.java index 982f683d5..ac735be37 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/BindableMongoExpression.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/BindableMongoExpression.java @@ -31,7 +31,7 @@ import org.springframework.util.StringUtils; * expression. The expression will be wrapped within { ... } if necessary. The actual parsing and parameter * binding of placeholders like {@code ?0} is delayed upon first call on the the target {@link Document} via * {@link #toDocument()}. - *

+ *
* *

  * $toUpper : $name                -> { '$toUpper' : '$name' }
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoCollectionUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoCollectionUtils.java
index 3d85a33dc..1b796eabd 100644
--- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoCollectionUtils.java
+++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoCollectionUtils.java
@@ -20,8 +20,8 @@ import org.springframework.util.StringUtils;
 
 /**
  * Helper class featuring helper methods for working with MongoDb collections.
- * 

- *

+ *
+ *
* Mainly intended for internal use within the framework. * * @author Thomas Risberg diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDatabaseUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDatabaseUtils.java index c9342ec4f..f0b6c2228 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDatabaseUtils.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoDatabaseUtils.java @@ -30,7 +30,7 @@ import com.mongodb.client.MongoDatabase; * Helper class for managing a {@link MongoDatabase} instances via {@link MongoDatabaseFactory}. Used for obtaining * {@link ClientSession session bound} resources, such as {@link MongoDatabase} and * {@link com.mongodb.client.MongoCollection} suitable for transactional usage. - *

+ *
* Note: Intended for internal usage only. * * @author Christoph Strobl @@ -43,7 +43,7 @@ public class MongoDatabaseUtils { /** * Obtain the default {@link MongoDatabase database} form the given {@link MongoDatabaseFactory factory} using * {@link SessionSynchronization#ON_ACTUAL_TRANSACTION native session synchronization}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the current * {@link Thread} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -56,7 +56,7 @@ public class MongoDatabaseUtils { /** * Obtain the default {@link MongoDatabase database} form the given {@link MongoDatabaseFactory factory}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the current * {@link Thread} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -71,7 +71,7 @@ public class MongoDatabaseUtils { /** * Obtain the {@link MongoDatabase database} with given name form the given {@link MongoDatabaseFactory factory} using * {@link SessionSynchronization#ON_ACTUAL_TRANSACTION native session synchronization}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the current * {@link Thread} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -85,7 +85,7 @@ public class MongoDatabaseUtils { /** * Obtain the {@link MongoDatabase database} with given name form the given {@link MongoDatabaseFactory factory}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the current * {@link Thread} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExpression.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExpression.java index 541118b11..2ea38af67 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExpression.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoExpression.java @@ -18,7 +18,7 @@ package org.springframework.data.mongodb; /** * Wrapper object for MongoDB expressions like {@code $toUpper : $name} that manifest as {@link org.bson.Document} when * passed on to the driver. - *

+ *
* A set of predefined {@link MongoExpression expressions}, including a * {@link org.springframework.data.mongodb.core.aggregation.AggregationSpELExpression SpEL based variant} for method * like expressions (eg. {@code toUpper(name)}) are available via the diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoResourceHolder.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoResourceHolder.java index 90a3b3202..157489e11 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoResourceHolder.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoResourceHolder.java @@ -24,7 +24,7 @@ import com.mongodb.client.ClientSession; /** * MongoDB specific {@link ResourceHolderSupport resource holder}, wrapping a {@link ClientSession}. * {@link MongoTransactionManager} binds instances of this class to the thread. - *

+ *
* Note: Intended for internal usage only. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTransactionManager.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTransactionManager.java index 1e6013d73..d244da629 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTransactionManager.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/MongoTransactionManager.java @@ -37,18 +37,18 @@ import com.mongodb.client.ClientSession; /** * A {@link org.springframework.transaction.PlatformTransactionManager} implementation that manages * {@link ClientSession} based transactions for a single {@link MongoDatabaseFactory}. - *

+ *
* Binds a {@link ClientSession} from the specified {@link MongoDatabaseFactory} to the thread. - *

+ *
* {@link TransactionDefinition#isReadOnly() Readonly} transactions operate on a {@link ClientSession} and enable causal * consistency, and also {@link ClientSession#startTransaction() start}, {@link ClientSession#commitTransaction() * commit} or {@link ClientSession#abortTransaction() abort} a transaction. - *

+ *
* Application code is required to retrieve the {@link com.mongodb.client.MongoDatabase} via * {@link MongoDatabaseUtils#getDatabase(MongoDatabaseFactory)} instead of a standard * {@link MongoDatabaseFactory#getMongoDatabase()} call. Spring classes such as * {@link org.springframework.data.mongodb.core.MongoTemplate} use this strategy implicitly. - *

+ *
* By default failure of a {@literal commit} operation raises a {@link TransactionSystemException}. One may override * {@link #doCommit(MongoTransactionObject)} to implement the * Retry Commit Operation @@ -69,11 +69,11 @@ public class MongoTransactionManager extends AbstractPlatformTransactionManager /** * Create a new {@link MongoTransactionManager} for bean-style usage. - *

+ *
* Note:The {@link MongoDatabaseFactory db factory} has to be * {@link #setDbFactory(MongoDatabaseFactory) set} before using the instance. Use this constructor to prepare a * {@link MongoTransactionManager} via a {@link org.springframework.beans.factory.BeanFactory}. - *

+ *
* Optionally it is possible to set default {@link TransactionOptions transaction options} defining * {@link com.mongodb.ReadConcern} and {@link com.mongodb.WriteConcern}. * @@ -212,8 +212,8 @@ public class MongoTransactionManager extends AbstractPlatformTransactionManager * By default those labels are ignored, nevertheless one might check for * {@link MongoException#UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL transient commit errors labels} and retry the the * commit.
+ *

 	 * 
-	 *     
 	 * int retries = 3;
 	 * do {
 	 *     try {
@@ -226,8 +226,8 @@ public class MongoTransactionManager extends AbstractPlatformTransactionManager
 	 *     }
 	 *     Thread.sleep(500);
 	 * } while (--retries > 0);
-	 *     
*
+ *
* * @param transactionObject never {@literal null}. * @throws Exception in case of transaction errors. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoDatabaseUtils.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoDatabaseUtils.java index 4699ac56c..4ae9e227f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoDatabaseUtils.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoDatabaseUtils.java @@ -36,7 +36,7 @@ import com.mongodb.reactivestreams.client.MongoDatabase; * Helper class for managing reactive {@link MongoDatabase} instances via {@link ReactiveMongoDatabaseFactory}. Used for * obtaining {@link ClientSession session bound} resources, such as {@link MongoDatabase} and {@link MongoCollection} * suitable for transactional usage. - *

+ *
* Note: Intended for internal usage only. * * @author Mark Paluch @@ -75,7 +75,7 @@ public class ReactiveMongoDatabaseUtils { /** * Obtain the default {@link MongoDatabase database} form the given {@link ReactiveMongoDatabaseFactory factory} using * {@link SessionSynchronization#ON_ACTUAL_TRANSACTION native session synchronization}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the subscriber * {@link Context} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -88,7 +88,7 @@ public class ReactiveMongoDatabaseUtils { /** * Obtain the default {@link MongoDatabase database} form the given {@link ReactiveMongoDatabaseFactory factory}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the subscriber * {@link Context} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -104,7 +104,7 @@ public class ReactiveMongoDatabaseUtils { /** * Obtain the {@link MongoDatabase database} with given name form the given {@link ReactiveMongoDatabaseFactory * factory} using {@link SessionSynchronization#ON_ACTUAL_TRANSACTION native session synchronization}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the subscriber * {@link Context} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * @@ -119,7 +119,7 @@ public class ReactiveMongoDatabaseUtils { /** * Obtain the {@link MongoDatabase database} with given name form the given {@link ReactiveMongoDatabaseFactory * factory}. - *

+ *
* Registers a {@link MongoSessionSynchronization MongoDB specific transaction synchronization} within the subscriber * {@link Context} if {@link TransactionSynchronizationManager#isSynchronizationActive() synchronization is active}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoResourceHolder.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoResourceHolder.java index b1f1c06d0..b3338fd7b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoResourceHolder.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoResourceHolder.java @@ -24,7 +24,7 @@ import com.mongodb.reactivestreams.client.ClientSession; /** * MongoDB specific resource holder, wrapping a {@link ClientSession}. {@link ReactiveMongoTransactionManager} binds * instances of this class to the subscriber context. - *

+ *
* Note: Intended for internal usage only. * * @author Mark Paluch diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoTransactionManager.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoTransactionManager.java index 63706eff8..711af76f5 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoTransactionManager.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/ReactiveMongoTransactionManager.java @@ -38,21 +38,21 @@ import com.mongodb.reactivestreams.client.ClientSession; * A {@link org.springframework.transaction.ReactiveTransactionManager} implementation that manages * {@link com.mongodb.reactivestreams.client.ClientSession} based transactions for a single * {@link org.springframework.data.mongodb.ReactiveMongoDatabaseFactory}. - *

+ *
* Binds a {@link ClientSession} from the specified * {@link org.springframework.data.mongodb.ReactiveMongoDatabaseFactory} to the subscriber * {@link reactor.util.context.Context}. - *

+ *
* {@link org.springframework.transaction.TransactionDefinition#isReadOnly() Readonly} transactions operate on a * {@link ClientSession} and enable causal consistency, and also {@link ClientSession#startTransaction() start}, * {@link com.mongodb.reactivestreams.client.ClientSession#commitTransaction() commit} or * {@link ClientSession#abortTransaction() abort} a transaction. - *

+ *
* Application code is required to retrieve the {@link com.mongodb.reactivestreams.client.MongoDatabase} via * {@link org.springframework.data.mongodb.ReactiveMongoDatabaseUtils#getDatabase(ReactiveMongoDatabaseFactory)} instead * of a standard {@link org.springframework.data.mongodb.ReactiveMongoDatabaseFactory#getMongoDatabase()} call. Spring * classes such as {@link org.springframework.data.mongodb.core.ReactiveMongoTemplate} use this strategy implicitly. - *

+ *
* By default failure of a {@literal commit} operation raises a {@link TransactionSystemException}. You can override * {@link #doCommit(TransactionSynchronizationManager, ReactiveMongoTransactionObject)} to implement the * Retry Commit Operation @@ -71,11 +71,11 @@ public class ReactiveMongoTransactionManager extends AbstractReactiveTransaction /** * Create a new {@link ReactiveMongoTransactionManager} for bean-style usage. - *

+ *
* Note:The {@link org.springframework.data.mongodb.ReactiveMongoDatabaseFactory db factory} has to * be {@link #setDatabaseFactory(ReactiveMongoDatabaseFactory)} set} before using the instance. Use this constructor * to prepare a {@link ReactiveMongoTransactionManager} via a {@link org.springframework.beans.factory.BeanFactory}. - *

+ *
* Optionally it is possible to set default {@link TransactionOptions transaction options} defining * {@link com.mongodb.ReadConcern} and {@link com.mongodb.WriteConcern}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java index da48f2215..b9b2c8813 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SessionAwareMethodInterceptor.java @@ -35,7 +35,7 @@ import com.mongodb.session.ClientSession; /** * {@link MethodInterceptor} implementation looking up and invoking an alternative target method having * {@link ClientSession} as its first argument. This allows seamless integration with the existing code base. - *

+ *
* The {@link MethodInterceptor} is aware of methods on {@code MongoCollection} that my return new instances of itself * like (eg. {@link com.mongodb.reactivestreams.client.MongoCollection#withWriteConcern(WriteConcern)} and decorate them * if not already proxied. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SpringDataMongoDB.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SpringDataMongoDB.java index dbbf146fc..808b576bc 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SpringDataMongoDB.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/SpringDataMongoDB.java @@ -48,7 +48,7 @@ public class SpringDataMongoDB { /** * Fetches the "Implementation-Version" manifest attribute from the jar file. - *

+ *
* Note that some ClassLoaders do not expose the package metadata, hence this class might not be able to determine the * version in all environments. In this case the current Major version is returned as a fallback. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoConfigurationSupport.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoConfigurationSupport.java index 52ec72d17..5fe0c4fe4 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoConfigurationSupport.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoConfigurationSupport.java @@ -172,8 +172,7 @@ public abstract class MongoConfigurationSupport { /** * Configures whether to abbreviate field names for domain objects by configuring a - * {@link CamelCaseAbbreviatingFieldNamingStrategy} on the {@link MongoMappingContext} instance created. For advanced - * customization needs, consider overriding {@link #mappingMongoConverter()}. + * {@link CamelCaseAbbreviatingFieldNamingStrategy} on the {@link MongoMappingContext} instance created. * * @return */ diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamOptions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamOptions.java index a4f6f7e22..3fe676753 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamOptions.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ChangeStreamOptions.java @@ -242,13 +242,13 @@ public class ChangeStreamOptions { /** * Set the filter to apply. - *

+ *
* Fields on aggregation expression root level are prefixed to map to fields contained in * {@link ChangeStreamDocument#getFullDocument() fullDocument}. However {@literal operationType}, {@literal ns}, * {@literal documentKey} and {@literal fullDocument} are reserved words that will be omitted, and therefore taken * as given, during the mapping procedure. You may want to have a look at the * structure of Change Events. - *

+ *
* Use {@link org.springframework.data.mongodb.core.aggregation.TypedAggregation} to ensure filter expressions are * mapped to domain type fields. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java index edff52bb7..f86689669 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/CollectionOptions.java @@ -428,7 +428,7 @@ public class CollectionOptions { /** * Get the {@code validationAction} to perform. * - * @return @return {@link Optional#empty()} if not set. + * @return {@link Optional#empty()} if not set. */ public Optional getValidationAction() { return Optional.ofNullable(validationAction); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperation.java index d67212bdc..f41af5c6c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperation.java @@ -125,7 +125,7 @@ public interface ExecutableFindOperation { /** * Get the number of matching elements. - *

+ *
* This method uses an {@link com.mongodb.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) aggregation * execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees shard, * session and transaction compliance. In case an inaccurate count satisfies the applications needs use diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableUpdateOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableUpdateOperation.java index a8b58669e..32b7017e4 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableUpdateOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableUpdateOperation.java @@ -89,7 +89,7 @@ public interface ExecutableUpdateOperation { /** * Trigger - * findOneAndReplace + * findOneAndReplace * execution by calling one of the terminating methods. * * @author Mark Paluch diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/FindAndReplaceOptions.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/FindAndReplaceOptions.java index 6122837a2..42a8a3ef7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/FindAndReplaceOptions.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/FindAndReplaceOptions.java @@ -17,7 +17,7 @@ package org.springframework.data.mongodb.core; /** * Options for - * findOneAndReplace. + * findOneAndReplace. *
* Defaults to *

diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDatabaseFactorySupport.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDatabaseFactorySupport.java index dac4b0d6d..9c8419a15 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDatabaseFactorySupport.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDatabaseFactorySupport.java @@ -33,7 +33,7 @@ import com.mongodb.client.MongoDatabase; /** * Common base class for usage with both {@link com.mongodb.client.MongoClients} defining common properties such as * database name and exception translator. - *

+ *
* Not intended to be used directly. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbFactorySupport.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbFactorySupport.java index bc0e39bbc..ba530d502 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbFactorySupport.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoDbFactorySupport.java @@ -20,7 +20,7 @@ import org.springframework.dao.support.PersistenceExceptionTranslator; /** * Common base class for usage with both {@link com.mongodb.client.MongoClients} defining common properties such as * database name and exception translator. - *

+ *
* Not intended to be used directly. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoJsonSchemaCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoJsonSchemaCreator.java index 5e5bc5064..f5b620d0f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoJsonSchemaCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoJsonSchemaCreator.java @@ -40,6 +40,7 @@ import org.springframework.util.Assert; * following mapping rules. *

* Required Properties + *

* @@ -61,7 +62,7 @@ import org.springframework.util.Assert; * {@link org.springframework.data.annotation.Id _id} properties using types that can be converted into * {@link org.bson.types.ObjectId} like {@link String} will be mapped to {@code type : 'object'} unless there is more * specific information available via the {@link org.springframework.data.mongodb.core.mapping.MongoId} annotation. - *

+ * {@link Encrypted} properties will contain {@literal encrypt} information. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java index e4a4b0868..c015fb5a4 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoOperations.java @@ -58,7 +58,7 @@ import com.mongodb.client.result.UpdateResult; * Interface that specifies a basic set of MongoDB operations. Implemented by {@link MongoTemplate}. Not often used but * a useful option for extensibility and testability (as it can be easily mocked, stubbed, or be the target of a JDK * proxy). - *

+ *
* NOTE: Some operations cannot be executed within a MongoDB transaction. Please refer to the MongoDB * specific documentation to learn more about Multi * Document Transactions. @@ -125,7 +125,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Executes a {@link DbCallback} translating any exceptions as necessary. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param action callback object that specifies the MongoDB actions to perform on the passed in DB instance. Must not @@ -138,7 +138,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Executes the given {@link CollectionCallback} on the entity collection of the specified class. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param entityClass class that determines the collection to use. Must not be {@literal null}. @@ -151,7 +151,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Executes the given {@link CollectionCallback} on the collection of the given name. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param collectionName the name of the collection that specifies which {@link MongoCollection} instance will be @@ -176,7 +176,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Obtain a {@link ClientSession session} bound instance of {@link SessionScoped} binding the {@link ClientSession} * provided by the given {@link Supplier} to each and every command issued against MongoDB. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. Use the * {@link SessionScoped#execute(SessionCallback, Consumer)} hook to potentially close the {@link ClientSession}. * @@ -212,7 +212,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Obtain a {@link ClientSession} bound instance of {@link MongoOperations}. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. * * @param session must not be {@literal null}. @@ -300,7 +300,7 @@ public interface MongoOperations extends FluentMongoOperations { * is created on first interaction with the server. Collections can be explicitly created via * {@link #createCollection(Class)}. Please make sure to check if the collection {@link #collectionExists(Class) * exists} first. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection. Must not be {@literal null}. @@ -310,7 +310,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Check to see if a collection with a name indicated by the entity class exists. - *

+ *
* Translate any exceptions as necessary. * * @param entityClass class that determines the name of the collection. Must not be {@literal null}. @@ -320,7 +320,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Check to see if a collection with a given name exists. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection. Must not be {@literal null}. @@ -330,7 +330,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Drop the collection with the name indicated by the entity class. - *

+ *
* Translate any exceptions as necessary. * * @param entityClass class that determines the collection to drop/delete. Must not be {@literal null}. @@ -339,7 +339,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Drop the collection with the given name. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection to drop/delete. @@ -403,10 +403,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Query for a list of objects of type T from the collection used by the entity class. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your collection does not contain a homogeneous collection of types, this operation will not be an efficient way * to map objects since the test for class type is done in the client and not on the server. * @@ -417,10 +417,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Query for a list of objects of type T from the specified collection. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your collection does not contain a homogeneous collection of types, this operation will not be an efficient way * to map objects since the test for class type is done in the client and not on the server. * @@ -539,11 +539,11 @@ public interface MongoOperations extends FluentMongoOperations { /** * Execute an aggregation operation backed by a Mongo DB {@link com.mongodb.client.AggregateIterable}. - *

+ *
* Returns a {@link CloseableIterator} that wraps the a Mongo DB {@link com.mongodb.client.AggregateIterable} that * needs to be closed. The raw results will be mapped to the given entity class and are returned as stream. The name * of the inputCollection is derived from the inputType of the aggregation. - *

+ *
* Aggregation streaming can't be used with {@link AggregationOptions#isExplain() aggregation explain}. Enabling * explanation mode will throw an {@link IllegalArgumentException}. * @@ -557,10 +557,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Execute an aggregation operation backed by a Mongo DB {@link com.mongodb.client.AggregateIterable}. - *

+ *
* Returns a {@link CloseableIterator} that wraps the a Mongo DB {@link com.mongodb.client.AggregateIterable} that * needs to be closed. The raw results will be mapped to the given entity class. - *

+ *
* Aggregation streaming can't be used with {@link AggregationOptions#isExplain() aggregation explain}. Enabling * explanation mode will throw an {@link IllegalArgumentException}. * @@ -576,10 +576,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Execute an aggregation operation backed by a Mongo DB {@link com.mongodb.client.AggregateIterable}. - *

+ *
* Returns a {@link CloseableIterator} that wraps the a Mongo DB {@link com.mongodb.client.AggregateIterable} that * needs to be closed. The raw results will be mapped to the given entity class. - *

+ *
* Aggregation streaming can't be used with {@link AggregationOptions#isExplain() aggregation explain}. Enabling * explanation mode will throw an {@link IllegalArgumentException}. * @@ -702,10 +702,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Map the results of an ad-hoc query on the collection for the entity class to a single instance of an object of the * specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -720,10 +720,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a single instance of an object of the specified * type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -768,10 +768,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Map the results of an ad-hoc query on the collection for the entity class to a List of the specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -784,10 +784,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a List of the specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -881,7 +881,7 @@ public interface MongoOperations extends FluentMongoOperations { } /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query}. * * @param query the {@link Query} class that specifies the {@link Criteria} used to find a record and also an optional @@ -897,7 +897,7 @@ public interface MongoOperations extends FluentMongoOperations { T findAndModify(Query query, UpdateDefinition update, Class entityClass); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query}. * * @param query the {@link Query} class that specifies the {@link Criteria} used to find a record and also an optional @@ -914,7 +914,7 @@ public interface MongoOperations extends FluentMongoOperations { T findAndModify(Query query, UpdateDefinition update, Class entityClass, String collectionName); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query} taking * {@link FindAndModifyOptions} into account. * @@ -934,7 +934,7 @@ public interface MongoOperations extends FluentMongoOperations { T findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class entityClass); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query} taking * {@link FindAndModifyOptions} into account. * @@ -957,7 +957,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} * document.
* The collection name is derived from the {@literal replacement} type.
@@ -977,7 +977,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} * document.
* Options are defaulted to {@link FindAndReplaceOptions#empty()}.
@@ -997,7 +997,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -1018,7 +1018,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -1041,7 +1041,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -1066,7 +1066,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -1094,7 +1094,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -1120,9 +1120,9 @@ public interface MongoOperations extends FluentMongoOperations { * Map the results of an ad-hoc query on the collection for the entity type to a single instance of an object of the * specified type. The first document that matches the query is returned and also removed from the collection in the * database. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -1137,10 +1137,10 @@ public interface MongoOperations extends FluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a single instance of an object of the specified * type. The first document that matches the query is returned and also removed from the collection in the database. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -1160,7 +1160,7 @@ public interface MongoOperations extends FluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -1182,7 +1182,7 @@ public interface MongoOperations extends FluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -1199,7 +1199,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Estimate the number of documents, in the collection {@link #getCollectionName(Class) identified by the given type}, * based on collection statistics. - *

+ *
* Please make sure to read the MongoDB reference documentation about limitations on eg. sharded cluster or inside * transactions. * @@ -1215,7 +1215,7 @@ public interface MongoOperations extends FluentMongoOperations { /** * Estimate the number of documents in the given collection based on collection statistics. - *

+ *
* Please make sure to read the MongoDB reference documentation about limitations on eg. sharded cluster or inside * transactions. * @@ -1232,7 +1232,7 @@ public interface MongoOperations extends FluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -1249,17 +1249,17 @@ public interface MongoOperations extends FluentMongoOperations { /** * Insert the object into the collection for the entity type of the object to save. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See * Spring's * Type Conversion" for more details. - *

+ *
* Insert is used to initially store the object into the database. To update an existing object use the save method. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1270,12 +1270,12 @@ public interface MongoOperations extends FluentMongoOperations { /** * Insert the object into the specified collection. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* Insert is used to initially store the object into the database. To update an existing object use the save method. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1315,16 +1315,16 @@ public interface MongoOperations extends FluentMongoOperations { /** * Save the object to the collection for the entity type of the object to save. This will perform an insert if the * object is not already present, that is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See * Spring's * Type Conversion" for more details. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1336,16 +1336,15 @@ public interface MongoOperations extends FluentMongoOperations { /** * Save the object to the specified collection. This will perform an insert if the object is not already present, that * is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your - * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See Spring's Type - * Conversion" for more details. - *

+ * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. + * See Spring's Type Conversion for more details. + *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index fb0780c5c..b3fb91568 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -338,7 +338,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, /** * Set the {@link EntityCallbacks} instance to use when invoking * {@link org.springframework.data.mapping.callback.EntityCallback callbacks} like the {@link BeforeSaveCallback}. - *

+ *
* Overrides potentially existing {@link EntityCallbacks}. * * @param entityCallbacks must not be {@literal null}. @@ -2664,7 +2664,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, /** * Map the results of an ad-hoc query on the default MongoDB collection to an object using the template's converter. * The first document that matches the query is returned and also removed from the collection in the database. - *

+ *
* The query document is specified as a standard Document and so is the fields specification. * * @param collectionName name of the collection to retrieve the objects from @@ -3493,7 +3493,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, /** * {@link MongoTemplate} extension bound to a specific {@link ClientSession} that is applied when interacting with the * server through the driver API. - *

+ *
* The prepare steps for {@link MongoDatabase} and {@link MongoCollection} proxy the target and invoke the desired * target method matching the actual arguments plus a {@link ClientSession}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveChangeStreamOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveChangeStreamOperation.java index 279f4184f..d834af4b3 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveChangeStreamOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveChangeStreamOperation.java @@ -71,7 +71,7 @@ public interface ReactiveChangeStreamOperation { /** * Start listening to changes. The stream will not be completed unless the {@link org.reactivestreams.Subscription} * is {@link org.reactivestreams.Subscription#cancel() canceled}. - *

+ *
* However, the stream may become dead, or invalid, if all watched collections, databases are dropped. */ Flux> listen(); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveFindOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveFindOperation.java index 9a6509092..b06623197 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveFindOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveFindOperation.java @@ -91,10 +91,10 @@ public interface ReactiveFindOperation { * Get all matching elements using a {@link com.mongodb.CursorType#TailableAwait tailable cursor}. The stream will * not be completed unless the {@link org.reactivestreams.Subscription} is * {@link org.reactivestreams.Subscription#cancel() canceled}. - *

+ *
* However, the stream may become dead, or invalid, if either the query returns no match or the cursor returns the * document at the "end" of the collection and then the application deletes that document. - *

+ *
* A stream that is no longer in use must be {@link reactor.core.Disposable#dispose()} disposed} otherwise the * streams will linger and exhaust resources.
* NOTE: Requires a capped collection. @@ -106,7 +106,7 @@ public interface ReactiveFindOperation { /** * Get the number of matching elements. - *

+ *
* This method uses an * {@link com.mongodb.reactivestreams.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoOperations.java index fb1c26030..0f54bef68 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoOperations.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoOperations.java @@ -59,7 +59,7 @@ import com.mongodb.reactivestreams.client.MongoCollection; * Implemented by {@link ReactiveMongoTemplate}. Not often used but a useful option for extensibility and testability * (as it can be easily mocked, stubbed, or be the target of a JDK proxy). Command execution using * {@link ReactiveMongoOperations} is deferred until subscriber subscribes to the {@link Publisher}. - *

+ *
* NOTE: Some operations cannot be executed within a MongoDB transaction. Please refer to the MongoDB * specific documentation to learn more about Multi * Document Transactions. @@ -121,7 +121,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Executes a {@link ReactiveDatabaseCallback} translating any exceptions as necessary. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param action callback object that specifies the MongoDB actions to perform on the passed in DB instance. Must not @@ -133,7 +133,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Executes the given {@link ReactiveCollectionCallback} on the entity collection of the specified class. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param entityClass class that determines the collection to use. Must not be {@literal null}. @@ -145,7 +145,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Executes the given {@link ReactiveCollectionCallback} on the collection of the given name. - *

+ *
* Allows for returning a result object, that is a domain object or a collection of domain objects. * * @param collectionName the name of the collection that specifies which {@link MongoCollection} instance will be @@ -159,7 +159,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Obtain a {@link ClientSession session} bound instance of {@link SessionScoped} binding the {@link ClientSession} * provided by the given {@link Supplier} to each and every command issued against MongoDB. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. Use * {@link ReactiveSessionScoped#execute(ReactiveSessionCallback, Consumer)} to provide a hook for processing the * {@link ClientSession} when done. @@ -178,7 +178,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Obtain a {@link ClientSession session} bound instance of {@link SessionScoped} binding a new {@link ClientSession} * with given {@literal sessionOptions} to each and every command issued against MongoDB. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. Use * {@link ReactiveSessionScoped#execute(ReactiveSessionCallback, Consumer)} to provide a hook for processing the * {@link ClientSession} when done. @@ -192,7 +192,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Obtain a {@link ClientSession session} bound instance of {@link ReactiveSessionScoped} binding the * {@link ClientSession} provided by the given {@link Publisher} to each and every command issued against MongoDB. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. Use * {@link ReactiveSessionScoped#execute(ReactiveSessionCallback, Consumer)} to provide a hook for processing the * {@link ClientSession} when done. @@ -205,7 +205,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Obtain a {@link ClientSession} bound instance of {@link ReactiveMongoOperations}. - *

+ *
* Note: It is up to the caller to manage the {@link ClientSession} lifecycle. * * @param session must not be {@literal null}. @@ -218,7 +218,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * Initiate a new {@link ClientSession} and obtain a {@link ClientSession session} bound instance of * {@link ReactiveSessionScoped}. Starts the transaction and adds the {@link ClientSession} to each and every command * issued against MongoDB. - *

+ *
* Each {@link ReactiveSessionScoped#execute(ReactiveSessionCallback) execution} initiates a new managed transaction * that is {@link ClientSession#commitTransaction() committed} on success. Transactions are * {@link ClientSession#abortTransaction() rolled back} upon errors. @@ -233,7 +233,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * Obtain a {@link ClientSession session} bound instance of {@link ReactiveSessionScoped}, start the transaction and * bind the {@link ClientSession} provided by the given {@link Publisher} to each and every command issued against * MongoDB. - *

+ *
* Each {@link ReactiveSessionScoped#execute(ReactiveSessionCallback) execution} initiates a new managed transaction * that is {@link ClientSession#commitTransaction() committed} on success. Transactions are * {@link ClientSession#abortTransaction() rolled back} upon errors. @@ -293,7 +293,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * created on first interaction with the server. Collections can be explicitly created via * {@link #createCollection(Class)}. Please make sure to check if the collection {@link #collectionExists(Class) * exists} first. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection. @@ -303,7 +303,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Check to see if a collection with a name indicated by the entity class exists. - *

+ *
* Translate any exceptions as necessary. * * @param entityClass class that determines the name of the collection. Must not be {@literal null}. @@ -313,7 +313,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Check to see if a collection with a given name exists. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection. Must not be {@literal null}. @@ -323,7 +323,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Drop the collection with the name indicated by the entity class. - *

+ *
* Translate any exceptions as necessary. * * @param entityClass class that determines the collection to drop/delete. Must not be {@literal null}. @@ -332,7 +332,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Drop the collection with the given name. - *

+ *
* Translate any exceptions as necessary. * * @param collectionName name of the collection to drop/delete. @@ -341,10 +341,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Query for a {@link Flux} of objects of type T from the collection used by the entity class. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your collection does not contain a homogeneous collection of types, this operation will not be an efficient way * to map objects since the test for class type is done in the client and not on the server. * @@ -355,10 +355,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Query for a {@link Flux} of objects of type T from the specified collection. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your collection does not contain a homogeneous collection of types, this operation will not be an efficient way * to map objects since the test for class type is done in the client and not on the server. * @@ -371,10 +371,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Map the results of an ad-hoc query on the collection for the entity class to a single instance of an object of the * specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -388,10 +388,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a single instance of an object of the specified * type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -435,10 +435,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Map the results of an ad-hoc query on the collection for the entity class to a {@link Flux} of the specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -451,10 +451,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a {@link Flux} of the specified type. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -566,10 +566,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Execute an aggregation operation. - *

+ *
* The raw results will be mapped to the given entity class and are returned as stream. The name of the * inputCollection is derived from the {@link TypedAggregation#getInputType() aggregation input type}. - *

+ *
* Aggregation streaming cannot be used with {@link AggregationOptions#isExplain() aggregation explain} nor with * {@link AggregationOptions#getCursorBatchSize()}. Enabling explanation mode or setting batch size cause * {@link IllegalArgumentException}. @@ -584,10 +584,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Execute an aggregation operation. - *

+ *
* The raw results will be mapped to the given {@code ouputType}. The name of the inputCollection is derived from the * {@code inputType}. - *

+ *
* Aggregation streaming cannot be used with {@link AggregationOptions#isExplain() aggregation explain} nor with * {@link AggregationOptions#getCursorBatchSize()}. Enabling explanation mode or setting batch size cause * {@link IllegalArgumentException}. @@ -604,9 +604,9 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Execute an aggregation operation. - *

+ *
* The raw results will be mapped to the given entity class. - *

+ *
* Aggregation streaming cannot be used with {@link AggregationOptions#isExplain() aggregation explain} nor with * {@link AggregationOptions#getCursorBatchSize()}. Enabling explanation mode or setting batch size cause * {@link IllegalArgumentException}. @@ -676,7 +676,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { Flux> geoNear(NearQuery near, Class entityClass, String collectionName); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query}. * * @param query the {@link Query} class that specifies the {@link Criteria} used to find a record and also an optional @@ -691,7 +691,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { Mono findAndModify(Query query, UpdateDefinition update, Class entityClass); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query}. * * @param query the {@link Query} class that specifies the {@link Criteria} used to find a record and also an optional @@ -707,7 +707,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { Mono findAndModify(Query query, UpdateDefinition update, Class entityClass, String collectionName); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query} taking * {@link FindAndModifyOptions} into account. * @@ -725,7 +725,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { Mono findAndModify(Query query, UpdateDefinition update, FindAndModifyOptions options, Class entityClass); /** - * Triggers findAndModify + * Triggers findAndModify * to apply provided {@link Update} on documents matching {@link Criteria} of given {@link Query} taking * {@link FindAndModifyOptions} into account. * @@ -746,7 +746,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} * document.
* Options are defaulted to {@link FindAndReplaceOptions#empty()}.
@@ -764,7 +764,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} * document.
* Options are defaulted to {@link FindAndReplaceOptions#empty()}.
@@ -783,7 +783,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -803,7 +803,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -825,7 +825,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -849,7 +849,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -876,7 +876,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Triggers - * findOneAndReplace + * findOneAndReplace * to replace a single document matching {@link Criteria} of given {@link Query} with the {@code replacement} document * taking {@link FindAndReplaceOptions} into account.
* NOTE: The replacement entity must not hold an {@literal id}. @@ -902,9 +902,9 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * Map the results of an ad-hoc query on the collection for the entity type to a single instance of an object of the * specified type. The first document that matches the query is returned and also removed from the collection in the * database. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -918,10 +918,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Map the results of an ad-hoc query on the specified collection to a single instance of an object of the specified * type. The first document that matches the query is returned and also removed from the collection in the database. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -940,7 +940,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.reactivestreams.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -962,7 +962,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.reactivestreams.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -983,7 +983,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * influence on the resulting number of documents found as those values are passed on to the server and potentially * limit the range and order within which the server performs the count operation. Use an {@literal unpaged} query to * count all matches. - *

+ *
* This method uses an * {@link com.mongodb.reactivestreams.client.MongoCollection#countDocuments(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions) * aggregation execution} even for empty {@link Query queries} which may have an impact on performance, but guarantees @@ -1001,7 +1001,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Estimate the number of documents, in the collection {@link #getCollectionName(Class) identified by the given type}, * based on collection statistics. - *

+ *
* Please make sure to read the MongoDB reference documentation about limitations on eg. sharded cluster or inside * transactions. * @@ -1017,7 +1017,7 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Estimate the number of documents in the given collection based on collection statistics. - *

+ *
* Please make sure to read the MongoDB reference documentation about limitations on eg. sharded cluster or inside * transactions. * @@ -1029,17 +1029,17 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Insert the object into the collection for the entity type of the object to save. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See * Spring's * Type Conversion" for more details. - *

+ *
* Insert is used to initially store the object into the database. To update an existing object use the save method. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1050,12 +1050,12 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Insert the object into the specified collection. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* Insert is used to initially store the object into the database. To update an existing object use the save method. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1094,15 +1094,15 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Insert the object into the collection for the entity type of the object to save. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See * Spring's * Type Conversion" for more details. - *

+ *
* Insert is used to initially store the object into the database. To update an existing object use the save method. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1140,16 +1140,16 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Save the object to the collection for the entity type of the object to save. This will perform an insert if the * object is not already present, that is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See * Spring's * Type Conversion" for more details. - *

+ *
* The {@code objectToSave} must not be collection-like. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. @@ -1161,15 +1161,14 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Save the object to the specified collection. This will perform an insert if the object is not already present, that * is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your - * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See Spring's Type - * Conversion" for more details. + * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. + * See Spring's Type Conversion for more details. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. * @param collectionName name of the collection to store the object in. Must not be {@literal null}. @@ -1181,15 +1180,14 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Save the object to the collection for the entity type of the object to save. This will perform an insert if the * object is not already present, that is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your - * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See - * Spring's - * Type Conversion" for more details. + * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. + * See Spring's Type Conversion for more details. * * @param objectToSave the object to store in the collection. Must not be {@literal null}. * @return the saved object. @@ -1199,17 +1197,16 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { /** * Save the object to the specified collection. This will perform an insert if the object is not already present, that * is an 'upsert'. - *

+ *
* The object is converted to the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* If your object has an "Id' property, it will be set with the generated Id from MongoDB. If your Id property is a * String then MongoDB ObjectId will be used to populate that string. Otherwise, the conversion from ObjectId to your - * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. See Spring's Type - * Conversion" for more details. + * property type will be handled by Spring's BeanWrapper class that leverages Type Conversion API. + * See Spring's Type Conversion for more details. * - * @param objectToSave the object to store in the collection. Must not be {@literal null}. + * @param objectToSave the object to store in the collReactiveMongoOperationsection. Must not be {@literal null}. * @param collectionName name of the collection to store the object in. Must not be {@literal null}. * @return the saved object. */ @@ -1481,10 +1478,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * type. The stream uses a {@link com.mongodb.CursorType#TailableAwait tailable} cursor that may be an infinite * stream. The stream will not be completed unless the {@link org.reactivestreams.Subscription} is * {@link Subscription#cancel() canceled}. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -1500,10 +1497,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * type. The stream uses a {@link com.mongodb.CursorType#TailableAwait tailable} cursor that may be an infinite * stream. The stream will not be completed unless the {@link org.reactivestreams.Subscription} is * {@link Subscription#cancel() canceled}. - *

+ *
* The object is converted from the MongoDB native representation using an instance of {@see MongoConverter}. Unless * configured otherwise, an instance of {@link MappingMongoConverter} will be used. - *

+ *
* The query is specified as a {@link Query} which can be created either using the {@link BasicQuery} or the more * feature rich {@link Query}. * @@ -1520,10 +1517,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * the configured default database via the reactive infrastructure. Use the optional provided {@link Aggregation} to * filter events. The stream will not be completed unless the {@link org.reactivestreams.Subscription} is * {@link Subscription#cancel() canceled}. - *

+ *
* The {@link ChangeStreamEvent#getBody()} is mapped to the {@literal resultType} while the * {@link ChangeStreamEvent#getRaw()} contains the unmodified payload. - *

+ *
* Use {@link ChangeStreamOptions} to set arguments like {@link ChangeStreamOptions#getResumeToken() the resumseToken} * for resuming change streams. * @@ -1544,10 +1541,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * the given collection via the reactive infrastructure. Use the optional provided {@link Aggregation} to filter * events. The stream will not be completed unless the {@link org.reactivestreams.Subscription} is * {@link Subscription#cancel() canceled}. - *

+ *
* The {@link ChangeStreamEvent#getBody()} is mapped to the {@literal resultType} while the * {@link ChangeStreamEvent#getRaw()} contains the unmodified payload. - *

+ *
* Use {@link ChangeStreamOptions} to set arguments like {@link ChangeStreamOptions#getResumeToken() the resumseToken} * for resuming change streams. * @@ -1569,10 +1566,10 @@ public interface ReactiveMongoOperations extends ReactiveFluentMongoOperations { * Subscribe to a MongoDB Change Stream via the reactive * infrastructure. Use the optional provided {@link Aggregation} to filter events. The stream will not be completed * unless the {@link org.reactivestreams.Subscription} is {@link Subscription#cancel() canceled}. - *

+ *
* The {@link ChangeStreamEvent#getBody()} is mapped to the {@literal resultType} while the * {@link ChangeStreamEvent#getRaw()} contains the unmodified payload. - *

+ *
* Use {@link ChangeStreamOptions} to set arguments like {@link ChangeStreamOptions#getResumeToken() the resumseToken} * for resuming change streams. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java index 82a3d1226..a7d0113e8 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java @@ -362,7 +362,7 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati * Set the {@link ReactiveEntityCallbacks} instance to use when invoking * {@link org.springframework.data.mapping.callback.EntityCallback callbacks} like the * {@link ReactiveBeforeSaveCallback}. - *

+ *
* Overrides potentially existing {@link ReactiveEntityCallbacks}. * * @param entityCallbacks must not be {@literal null}. @@ -2537,7 +2537,7 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati /** * Map the results of an ad-hoc query on the default MongoDB collection to an object using the template's converter. * The first document that matches the query is returned and also removed from the collection in the database. - *

+ *
* The query document is specified as a standard Document and so is the fields specification. * * @param collectionName name of the collection to retrieve the objects from @@ -3390,7 +3390,7 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati /** * {@link MongoTemplate} extension bound to a specific {@link ClientSession} that is applied when interacting with the * server through the driver API. - *

+ *
* The prepare steps for {@link MongoDatabase} and {@link MongoCollection} proxy the target and invoke the desired * target method matching the actual arguments plus a {@link ClientSession}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionCallback.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionCallback.java index c9b15324f..8ac447eeb 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionCallback.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionCallback.java @@ -32,7 +32,7 @@ public interface ReactiveSessionCallback { /** * Execute operations against a MongoDB instance via session bound {@link ReactiveMongoOperations}. The session is * inferred directly into the operation so that no further interaction is necessary. - *

+ *
* Please note that only Spring Data-specific abstractions like {@link ReactiveMongoOperations#find(Query, Class)} and * others are enhanced with the {@link com.mongodb.session.ClientSession}. When obtaining plain MongoDB gateway * objects like {@link com.mongodb.reactivestreams.client.MongoCollection} or diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionScoped.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionScoped.java index 17c17edd2..2519a8bb1 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionScoped.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveSessionScoped.java @@ -33,7 +33,7 @@ public interface ReactiveSessionScoped { /** * Executes the given {@link ReactiveSessionCallback} within the {@link com.mongodb.session.ClientSession}. - *

+ *
* It is up to the caller to make sure the {@link com.mongodb.session.ClientSession} is {@link ClientSession#close() * closed} when done. * @@ -47,7 +47,7 @@ public interface ReactiveSessionScoped { /** * Executes the given {@link ReactiveSessionCallback} within the {@link com.mongodb.session.ClientSession}. - *

+ *
* It is up to the caller to make sure the {@link com.mongodb.session.ClientSession} is {@link ClientSession#close() * closed} when done. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ScriptOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ScriptOperations.java index 24ad1c5ff..36f811302 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ScriptOperations.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ScriptOperations.java @@ -23,7 +23,7 @@ import org.springframework.lang.Nullable; /** - * Script operations on {@link com.mongodb.DB} level. Allows interaction with server side JavaScript functions. + * Script operations on {@link com.mongodb.client.MongoDatabase} level. Allows interaction with server side JavaScript functions. * * @author Christoph Strobl * @author Oliver Gierke @@ -72,10 +72,10 @@ public interface ScriptOperations { Object call(String scriptName, Object... args); /** - * Checks {@link DB} for existence of {@link ServerSideJavaScript} with given name. + * Checks {@link com.mongodb.client.MongoDatabase} for existence of {@literal ServerSideJavaScript} with given name. * * @param scriptName must not be {@literal null} or empty. - * @return false if no {@link ServerSideJavaScript} with given name exists. + * @return false if no {@literal ServerSideJavaScript} with given name exists. */ boolean exists(String scriptName); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionCallback.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionCallback.java index c12d4b100..93d0c7137 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionCallback.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionCallback.java @@ -31,7 +31,7 @@ public interface SessionCallback { /** * Execute operations against a MongoDB instance via session bound {@link MongoOperations}. The session is inferred * directly into the operation so that no further interaction is necessary. - *

+ *
* Please note that only Spring Data-specific abstractions like {@link MongoOperations#find(Query, Class)} and others * are enhanced with the {@link com.mongodb.session.ClientSession}. When obtaining plain MongoDB gateway objects like * {@link com.mongodb.client.MongoCollection} or {@link com.mongodb.client.MongoDatabase} via eg. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionScoped.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionScoped.java index ead52ee15..5bba65144 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionScoped.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/SessionScoped.java @@ -23,7 +23,7 @@ import com.mongodb.client.ClientSession; /** * Gateway interface to execute {@link ClientSession} bound operations against MongoDB via a {@link SessionCallback}. - *

+ *
* The very same bound {@link ClientSession} is used for all invocations of {@code execute} on the instance. * * @author Christoph Strobl @@ -34,7 +34,7 @@ public interface SessionScoped { /** * Executes the given {@link SessionCallback} within the {@link com.mongodb.session.ClientSession}. - *

+ *
* It is up to the caller to make sure the {@link com.mongodb.session.ClientSession} is {@link ClientSession#close() * closed} when done. * @@ -49,7 +49,7 @@ public interface SessionScoped { /** * Executes the given {@link SessionCallback} within the {@link com.mongodb.session.ClientSession}. - *

+ *
* It is up to the caller to make sure the {@link com.mongodb.session.ClientSession} is {@link ClientSession#close() * closed} when done. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java index 614489692..e4894fbef 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/Aggregation.java @@ -227,7 +227,7 @@ public class Aggregation { /** * Obtain an {@link AddFieldsOperationBuilder builder} instance to create a new {@link AddFieldsOperation}. - *

+ *
* Starting in version 4.2, MongoDB adds a new aggregation pipeline stage {@link AggregationUpdate#set $set} that is * an alias for {@code $addFields}. * @@ -726,7 +726,7 @@ public class Aggregation { /** * Converts this {@link Aggregation} specification to a {@link Document}. - *

+ *
* MongoDB requires as of 3.6 cursor-based aggregation. Use {@link #toPipeline(AggregationOperationContext)} to render * an aggregation pipeline. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationSpELExpression.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationSpELExpression.java index 14fa8c48d..e406f5787 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationSpELExpression.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationSpELExpression.java @@ -24,15 +24,15 @@ import org.springframework.util.Assert; * expression.
*
* Samples:
- * *

+ * 
  * // { $and: [ { $gt: [ "$qty", 100 ] }, { $lt: [ "$qty", 250 ] } ] }
  * expressionOf("qty > 100 && qty < 250);
  *
  * // { $cond : { if : { $gte : [ "$a", 42 ]}, then : "answer", else : "no-answer" } }
  * expressionOf("cond(a >= 42, 'answer', 'no-answer')");
- * 
* + *
* * @author Christoph Strobl * @author Mark Paluch diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationUpdate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationUpdate.java index e69531e03..3cbb5f873 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationUpdate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/AggregationUpdate.java @@ -71,8 +71,7 @@ import org.springframework.util.Assert; * * @author Christoph Strobl * @author Mark Paluch - * @see MongoDB + * @see MongoDB * Reference Documentation * @since 3.0 */ diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ArithmeticOperators.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ArithmeticOperators.java index 9c9132e67..0fbfcac41 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ArithmeticOperators.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ArithmeticOperators.java @@ -825,7 +825,7 @@ public class ArithmeticOperators { * Creates new {@link AggregationExpression} that calculates the inverse tangent of the the numeric value divided by * the given numeric value in the argument. * - * @param the numeric value + * @param value the numeric value * @return new instance of {@link ATan2}. * @since 3.3 */ @@ -839,7 +839,7 @@ public class ArithmeticOperators { * Creates new {@link AggregationExpression} that calculates the inverse tangent of the the numeric value divided by * the given field reference in the argument. * - * @param the numeric value + * @param fieldReference the numeric value * @return new instance of {@link ATan2}. * @since 3.3 */ @@ -853,7 +853,7 @@ public class ArithmeticOperators { * Creates new {@link AggregationExpression} that calculates the inverse tangent of the the numeric value divided by * the given {@link AggregationExpression} in the argument. * - * @param the numeric value + * @param expression the expression evaluating to a numeric value * @return new instance of {@link ATan2}. * @since 3.3 */ @@ -2169,7 +2169,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the sine of a value that is measured in * {@link AngularUnit#RADIANS radians}. - *

+ *
* Use {@code sinhOf("angle", DEGREES)} as shortcut for * *

@@ -2282,7 +2282,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic sine of a value that is measured in
 		 * the given {@link AngularUnit unit}.
-		 * 

+ *
* Use {@code sinhOf("angle", DEGREES)} as shortcut for * *

@@ -2302,7 +2302,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic sine of a value that is measured in
 		 * {@link AngularUnit#RADIANS}.
-		 * 

+ *
* Use {@code sinhOf("angle", DEGREES)} as shortcut for eg. * {@code sinhOf(ConvertOperators.valueOf("angle").degreesToRadians())}. * @@ -2386,7 +2386,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the inverse sine of a value. - *

+ *
* * @param expression the {@link AggregationExpression expression} that resolves to a numeric value. * @return new instance of {@link ASin}. @@ -2436,7 +2436,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the inverse hyperbolic sine of a value. - *

+ *
* * @param expression the {@link AggregationExpression expression} that resolves to a numeric value. * @return new instance of {@link ASinh}. @@ -2478,7 +2478,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the cosine of a value that is measured in * {@link AngularUnit#RADIANS radians}. - *

+ *
* Use {@code cosOf("angle", DEGREES)} as shortcut for * *

@@ -2589,7 +2589,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic cosine of a value that is measured in
 		 * the given {@link AngularUnit unit}.
-		 * 

+ *
* Use {@code coshOf("angle", DEGREES)} as shortcut for * *

@@ -2607,7 +2607,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic cosine of a value that is measured in
 		 * {@link AngularUnit#RADIANS}.
-		 * 

+ *
* Use {@code sinhOf("angle", DEGREES)} as shortcut for eg. * {@code sinhOf(ConvertOperators.valueOf("angle").degreesToRadians())}. * @@ -2680,7 +2680,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the tangent of a value that is measured in * {@link AngularUnit#RADIANS radians}. - *

+ *
* Use {@code tanOf("angle", DEGREES)} as shortcut for * *

@@ -2859,7 +2859,7 @@ public class ArithmeticOperators {
 		 * Creates a new {@link AggregationExpression} that calculates the inverse tangent of of y / x, where y and x are
 		 * the first and second values passed to the expression respectively.
 		 *
-		 * @param value anything ({@link Field field}, {@link AggregationExpression expression}, ...) that resolves to a
+		 * @param fieldReference anything ({@link Field field}, {@link AggregationExpression expression}, ...) that resolves to a
 		 *          numeric value.
 		 * @return new instance of {@link ATan2}.
 		 */
@@ -2873,7 +2873,7 @@ public class ArithmeticOperators {
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic tangent of a value that is measured in
 		 * {@link AngularUnit#RADIANS}.
 		 *
-		 * @param value anything ({@link Field field}, {@link AggregationExpression expression}, ...) that resolves to a
+		 * @param expression anything ({@link Field field}, {@link AggregationExpression expression}, ...) that resolves to a
 		 *          numeric value.
 		 * @return new instance of {@link ATan2}.
 		 */
@@ -2927,7 +2927,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic tangent of a value that is measured in
 		 * the given {@link AngularUnit unit}.
-		 * 

+ *
* Use {@code tanhOf("angle", DEGREES)} as shortcut for * *

@@ -2945,7 +2945,7 @@ public class ArithmeticOperators {
 		/**
 		 * Creates a new {@link AggregationExpression} that calculates the hyperbolic tangent of a value that is measured in
 		 * {@link AngularUnit#RADIANS}.
-		 * 

+ *
* Use {@code sinhOf("angle", DEGREES)} as shortcut for eg. * {@code sinhOf(ConvertOperators.valueOf("angle").degreesToRadians())}. * @@ -3029,7 +3029,7 @@ public class ArithmeticOperators { /** * Creates a new {@link AggregationExpression} that calculates the inverse hyperbolic tangent of a value. - *

+ *
* * @param expression the {@link AggregationExpression expression} that resolves to a numeric value. * @return new instance of {@link ATanh}. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketAutoOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketAutoOperation.java index 235c16bef..f5755346b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketAutoOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketAutoOperation.java @@ -28,8 +28,7 @@ import org.springframework.util.Assert; * We recommend to use the static factory method {@link Aggregation#bucketAuto(String, int)} instead of creating * instances of this class directly. * - * @see https://docs.mongodb.org/manual/reference/aggregation/bucketAuto/ + * @see https://docs.mongodb.org/manual/reference/aggregation/bucketAuto/ * @see BucketOperationSupport * @author Mark Paluch * @author Christoph Strobl @@ -248,8 +247,7 @@ public class BucketAutoOperation extends BucketOperationSupporthttps://docs.mongodb.com/manual/reference/operator/aggregation/bucketAuto/#granularity * @author Mark Paluch */ public enum Granularities implements Granularity { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketOperation.java index 173fa4ece..937ec029c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/BucketOperation.java @@ -31,8 +31,7 @@ import org.springframework.util.Assert; * We recommend to use the static factory method {@link Aggregation#bucket(String)} instead of creating instances of * this class directly. * - * @see https://docs.mongodb.org/manual/reference/aggregation/bucket/ + * @see https://docs.mongodb.org/manual/reference/aggregation/bucket/ * @see BucketOperationSupport * @author Mark Paluch * @since 1.10 diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ConvertOperators.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ConvertOperators.java index 637ebd8d8..3555ada8a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ConvertOperators.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ConvertOperators.java @@ -328,9 +328,9 @@ public class ConvertOperators { *

1
*
double
*
2
- *
string + *
string
*
7
- *
objectId + *
objectId
*
8
*
bool
*
9
diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/CountOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/CountOperation.java index e2b65aa7f..95e63ac8f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/CountOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/CountOperation.java @@ -24,8 +24,7 @@ import org.springframework.util.Assert; * We recommend to use the static factory method {@link Aggregation#count()} instead of creating instances of this class * directly. * - * @see https://docs.mongodb.com/manual/reference/operator/aggregation/count/ + * @see https://docs.mongodb.com/manual/reference/operator/aggregation/count/ * @author Mark Paluch * @since 1.10 */ diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java index 029b994f2..d1e45a8b9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/DateOperators.java @@ -92,7 +92,7 @@ public class DateOperators { /** * Take the given value as date. - *

+ *
* This can be one of: *

    *
  • {@link java.util.Date}
  • @@ -142,7 +142,7 @@ public class DateOperators { * Timezone represents a MongoDB timezone abstraction which can be represented with a timezone ID or offset as a * {@link String}. Also accepts a {@link AggregationExpression} or {@link Field} that resolves to a {@link String} of * either Olson Timezone Identifier or a UTC Offset.
    - * + *
    * * * @@ -334,7 +334,7 @@ public class DateOperators { /** * Creates new {@link DateOperatorFactory} for given {@code value} that resolves to a Date. - *

    + *
    *

      *
    • {@link java.util.Date}
    • *
    • {@link java.util.Calendar}
    • diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GraphLookupOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GraphLookupOperation.java index f71e2b14b..c11c6dccf 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GraphLookupOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GraphLookupOperation.java @@ -36,8 +36,7 @@ import org.springframework.util.ClassUtils; * We recommend to use the static factory method {@link Aggregation#graphLookup(String)} instead of creating instances * of this class directly. * - * @see https://docs.mongodb.org/manual/reference/aggregation/graphLookup/ + * @see https://docs.mongodb.org/manual/reference/aggregation/graphLookup/ * @author Mark Paluch * @author Christoph Strobl * @since 1.10 diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GroupOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GroupOperation.java index ee129154d..1f2165778 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GroupOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/GroupOperation.java @@ -139,7 +139,7 @@ public class GroupOperation implements FieldsExposingAggregationOperation { * Generates an {@link GroupOperationBuilder} for a {@code $sum}-expression. *

      * Count expressions are emulated via {@code $sum: 1}. - *

      + *

      * * @return */ diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/PrefixingDelegatingAggregationOperationContext.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/PrefixingDelegatingAggregationOperationContext.java index 5ae8c4caa..8bb45b1c9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/PrefixingDelegatingAggregationOperationContext.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/PrefixingDelegatingAggregationOperationContext.java @@ -30,7 +30,7 @@ import org.springframework.lang.Nullable; /** * {@link AggregationOperationContext} implementation prefixing non-command keys on root level with the given prefix. * Useful when mapping fields to domain specific types while having to prefix keys for query purpose. - *

      + *
      * Fields to be excluded from prefixing my be added to a {@literal denylist}. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/RedactOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/RedactOperation.java index f16865b25..964870887 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/RedactOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/RedactOperation.java @@ -33,8 +33,7 @@ import org.springframework.util.Assert; * * * @author Christoph Strobl - * @see https://docs.mongodb.com/manual/reference/operator/aggregation/redact/ + * @see https://docs.mongodb.com/manual/reference/operator/aggregation/redact/ * @since 3.0 */ public class RedactOperation implements AggregationOperation { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ScriptOperators.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ScriptOperators.java index 0c0a7e527..57d7feb86 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ScriptOperators.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/ScriptOperators.java @@ -30,7 +30,7 @@ import org.springframework.util.CollectionUtils; /** * Gateway to {@literal $function} and {@literal $accumulator} aggregation operations. - *

      + *
      * Using {@link ScriptOperators} as part of the {@link Aggregation} requires MongoDB server to have * server-side JavaScript execution * enabled. @@ -43,7 +43,7 @@ public class ScriptOperators { /** * Create a custom aggregation - * $function in JavaScript. + * $function in JavaScript. * * @param body The function definition. Must not be {@literal null}. * @return new instance of {@link Function}. @@ -53,8 +53,8 @@ public class ScriptOperators { } /** - * Create a custom $accumulator - * operator in Javascript. + * Create a custom $accumulator operator + * in Javascript. * * @return new instance of {@link AccumulatorInitBuilder}. */ @@ -65,7 +65,7 @@ public class ScriptOperators { /** * {@link Function} defines a custom aggregation * $function in JavaScript. - *

      + *
      * * { * $function: { @@ -75,7 +75,7 @@ public class ScriptOperators { * } * } * - *

      + *
      * {@link Function} cannot be used as part of {@link org.springframework.data.mongodb.core.schema.MongoJsonSchema * schema} validation query expression.
      * NOTE: Server-Side JavaScript @@ -179,7 +179,7 @@ public class ScriptOperators { * $accumulator operator, * one that maintains its state (e.g. totals, maximums, minimums, and related data) as documents progress through the * pipeline, in JavaScript. - *

      + *
      * * { * $accumulator: { @@ -193,7 +193,7 @@ public class ScriptOperators { * } * } * - *

      + *
      * {@link Accumulator} can be used as part of {@link GroupOperation $group}, {@link BucketOperation $bucket} and * {@link BucketAutoOperation $bucketAuto} pipeline stages.
      * NOTE: Server-Side JavaScript @@ -241,7 +241,7 @@ public class ScriptOperators { /** * Define the {@code init} {@link Function} for the {@link Accumulator accumulators} initial state. The function * receives its arguments from the {@link Function#args(Object...) initArgs} array expression. - *

      + *
      * * function(initArg1, initArg2, ...) { * ... @@ -259,7 +259,7 @@ public class ScriptOperators { /** * Define the {@code init} function for the {@link Accumulator accumulators} initial state. The function receives * its arguments from the {@link AccumulatorInitArgsBuilder#initArgs(Object...)} array expression. - *

      + *
      * * function(initArg1, initArg2, ...) { * ... @@ -308,7 +308,7 @@ public class ScriptOperators { * Set the {@code accumulate} {@link Function} that updates the state for each document. The functions first * argument is the current {@code state}, additional arguments can be defined via {@link Function#args(Object...) * accumulateArgs}. - *

      + *
      * * function(state, accumArg1, accumArg2, ...) { * ... @@ -327,7 +327,7 @@ public class ScriptOperators { * Set the {@code accumulate} function that updates the state for each document. The functions first argument is * the current {@code state}, additional arguments can be defined via * {@link AccumulatorAccumulateArgsBuilder#accumulateArgs(Object...)}. - *

      + *
      * * function(state, accumArg1, accumArg2, ...) { * ... @@ -370,7 +370,7 @@ public class ScriptOperators { * Set the {@code merge} function used to merge two internal states.
      * This might be required because the operation is run on a sharded cluster or when the operator exceeds its * memory limit. - *

      + *
      * * function(state1, state2) { * ... @@ -389,7 +389,7 @@ public class ScriptOperators { /** * Set the {@code finalize} function used to update the result of the accumulation when all documents have been * processed. - *

      + *
      * * function(state) { * ... @@ -425,7 +425,7 @@ public class ScriptOperators { /** * Define the {@code init} function for the {@link Accumulator accumulators} initial state. The function receives * its arguments from the {@link #initArgs(Object...)} array expression. - *

      + *
      * * function(initArg1, initArg2, ...) { * ... @@ -461,7 +461,7 @@ public class ScriptOperators { /** * Set the {@code accumulate} function that updates the state for each document. The functions first argument is * the current {@code state}, additional arguments can be defined via {@link #accumulateArgs(Object...)}. - *

      + *
      * * function(state, accumArg1, accumArg2, ...) { * ... @@ -500,7 +500,7 @@ public class ScriptOperators { * Set the {@code merge} function used to merge two internal states.
      * This might be required because the operation is run on a sharded cluster or when the operator exceeds its * memory limit. - *

      + *
      * * function(state1, state2) { * ... @@ -537,7 +537,7 @@ public class ScriptOperators { /** * Set the {@code finalize} function used to update the result of the accumulation when all documents have been * processed. - *

      + *
      * * function(state) { * ... diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java index fa01b02b9..4b2bc29ef 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SetWindowFieldsOperation.java @@ -31,8 +31,7 @@ import org.springframework.util.Assert; * * @author Christoph Strobl * @since 3.3 - * @see https://docs.mongodb.com/manual/reference/operator/aggregation/setWindowFields/ + * @see https://docs.mongodb.com/manual/reference/operator/aggregation/setWindowFields/ */ public class SetWindowFieldsOperation implements AggregationOperation, FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SortByCountOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SortByCountOperation.java index f480d5530..76b7bc7e7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SortByCountOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/SortByCountOperation.java @@ -21,17 +21,16 @@ import org.springframework.util.Assert; /** * Encapsulates the aggregation framework {@code $sortByCount}-operation. - *

      + *
      * {@code $sortByCount} stage is typically used with {@link Aggregation} and {@code $facet}. Groups incoming documents * based on the value of a specified expression and computes the count of documents in each distinct group. * {@link SortByCountOperation} is equivalent to {@code { $group: { _id: , count: { $sum: 1 } } }, { $sort: * { count: -1 } }}. - *

      + *
      * We recommend to use the static factory method {@link Aggregation#sortByCount(String)} instead of creating instances * of this class directly. * - * @see https://docs.mongodb.com/manual/reference/operator/aggregation/sortByCount/ + * @see https://docs.mongodb.com/manual/reference/operator/aggregation/sortByCount/ * @author Jérôme Guyon * @author Mark Paluch * @since 2.1 diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/UnionWithOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/UnionWithOperation.java index 9c1beb1db..679c464ac 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/UnionWithOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/UnionWithOperation.java @@ -28,7 +28,7 @@ import org.springframework.util.Assert; * containing duplicates, into a single result set that is handed over to the next stage.
      * In order to remove duplicates it is possible to append a {@link GroupOperation} right after * {@link UnionWithOperation}. - *

      + *
      * If the {@link UnionWithOperation} uses a * pipeline * to process documents, field names within the pipeline will be treated as is. In order to map domain type property diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 302c3dad4..8a4fece21 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -262,7 +262,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App /** * Set the {@link EntityCallbacks} instance to use when invoking * {@link org.springframework.data.mapping.callback.EntityCallback callbacks} like the {@link AfterConvertCallback}. - *

      + *
      * Overrides potentially existing {@link EntityCallbacks}. * * @param entityCallbacks must not be {@literal null}. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java index df53f2c21..69c85d6b6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java @@ -765,7 +765,7 @@ public class QueryMapper { /** * Returns whether the given {@link String} is a MongoDB keyword. The default implementation will check against the - * set of registered keywords returned by {@link #getKeywords()}. + * set of registered keywords. * * @param candidate * @return diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonModule.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonModule.java index 6336ab81f..154250829 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonModule.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonModule.java @@ -35,7 +35,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode; /** * A Jackson {@link Module} to register custom {@link JsonDeserializer}s for GeoJSON types. - *

      + *
      * Use {@link #geoJsonModule()} to obtain a {@link Module} containing both {@link JsonSerializer serializers} and * {@link JsonDeserializer deserializers}. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/CompoundIndex.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/CompoundIndex.java index fa759e7a7..2130df2b5 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/CompoundIndex.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/CompoundIndex.java @@ -24,7 +24,7 @@ import java.lang.annotation.Target; /** * Mark a class to use compound indexes. - *

      + *
      *

      * NOTE: This annotation is repeatable according to Java 8 conventions using {@link CompoundIndexes#value()} as * container. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/DurationStyle.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/DurationStyle.java index b692aca2f..569ab05ff 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/DurationStyle.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/DurationStyle.java @@ -27,7 +27,7 @@ import org.springframework.util.StringUtils; /** * Duration format styles. - *

      + *
      * Fork of {@code org.springframework.boot.convert.DurationStyle}. * * @author Phillip Webb diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/HashIndexed.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/HashIndexed.java index 95652b0db..e935ddeb6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/HashIndexed.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/HashIndexed.java @@ -25,7 +25,7 @@ import java.lang.annotation.Target; * Hashed Index. If used on a simple property, the * index uses a hashing function to compute the hash of the value of the index field. Added to a property of complex * type the embedded document is collapsed and the hash computed for the entire object. - *

      + *
      * *

        * @Document
      diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java
      index b07c3b1bc..1f2578d1b 100644
      --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java
      +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/WildcardIndex.java
      @@ -31,11 +31,11 @@ import org.springframework.util.StringUtils;
        * {@link org.springframework.data.mongodb.core.mapping.Document} annotation). On those it is possible to use
        * {@link #wildcardProjectionInclude(String...)} and {@link #wildcardProjectionExclude(String...)} to define specific
        * paths for in-/exclusion.
      - * 

      + *
      * It can also be used to define an index on a specific field path and its subfields, e.g. * {@code "path.to.field.$**" : 1}.
      * Note that {@literal wildcardProjections} are not allowed in this case. - *

      + *
      * LIMITATIONS
      *

        *
      • {@link #unique() Unique} and {@link #expire(long) ttl} options are not supported.
      • diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Encrypted.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Encrypted.java index 8bd0f99c4..3e1ee86b1 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Encrypted.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Encrypted.java @@ -88,7 +88,7 @@ public @interface Encrypted { /** * Get the {@code keyId} to use. The value must resolve to either the UUID representation of the key or a base64 * encoded value representing the UUID value. - *

        + *
        * On {@link ElementType#TYPE} level the {@link #keyId()} can be left empty if explicitly set for fields.
        * On {@link ElementType#FIELD} level the {@link #keyId()} can be left empty if inherited from * {@literal encryptMetadata}. @@ -100,7 +100,7 @@ public @interface Encrypted { /** * Set the algorithm to use. - *

        + *
        * On {@link ElementType#TYPE} level the {@link #algorithm()} can be left empty if explicitly set for fields.
        * On {@link ElementType#FIELD} level the {@link #algorithm()} can be left empty if inherited from * {@literal encryptMetadata}. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Field.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Field.java index b606cf15b..7b548608e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Field.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Field.java @@ -71,7 +71,7 @@ public @interface Field { * Write rules when to include a property value upon conversion. If set to {@link Write#NON_NULL} (default) * {@literal null} values are not written to the target {@code Document}. Setting the value to {@link Write#ALWAYS} * explicitly adds an entry for the given field holding {@literal null} as a value {@code 'fieldName' : null }. - *

        + *
        * NOTESetting the value to {@link Write#ALWAYS} may lead to increased document size. * * @return {@link Write#NON_NULL} by default. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/FieldType.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/FieldType.java index 5a03040e7..45d3e14e5 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/FieldType.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/FieldType.java @@ -28,7 +28,7 @@ import org.bson.types.ObjectId; * Enumeration of field value types that can be used to represent a {@link org.bson.Document} field value. This * enumeration contains a subset of {@link org.bson.BsonType} that is supported by the mapping and conversion * components. - *

        + *
        * Bson types are identified by a {@code byte} {@link #getBsonType() value}. This enumeration typically returns the * according bson type value except for {@link #IMPLICIT} which is a marker to derive the field type from a property. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/ShardKey.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/ShardKey.java index 74cde4d5a..305064e26 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/ShardKey.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/ShardKey.java @@ -27,7 +27,7 @@ import org.springframework.util.ObjectUtils; /** * Value object representing an entities Shard * Key used to distribute documents across a sharded MongoDB cluster. - *

        + *
        * {@link ShardKey#isImmutable() Immutable} shard keys indicates a fixed value that is not updated (see * MongoDB * Reference: Change a Document's Shard Key Value), which allows to skip server round trips in cases where a diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Sharded.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Sharded.java index df6bf2752..1c57ea08d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Sharded.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Sharded.java @@ -29,14 +29,14 @@ import org.springframework.data.annotation.Persistent; * {@link #shardKey()} is used to distribute documents across shards.
        * Please see the MongoDB Documentation for more information * about requirements and limitations of sharding. - *

        + *
        * Spring Data adds the shard key to filter queries used for * {@link com.mongodb.client.MongoCollection#replaceOne(org.bson.conversions.Bson, Object)} operations triggered by * {@code save} operations on {@link org.springframework.data.mongodb.core.MongoOperations} and * {@link org.springframework.data.mongodb.core.ReactiveMongoOperations} as well as {@code update/upsert} operations * replacing/upserting a single existing document as long as the given * {@link org.springframework.data.mongodb.core.query.UpdateDefinition} holds a full copy of the entity. - *

        + *
        * All other operations that require the presence of the {@literal shard key} in the filter query need to provide the * information via the {@link org.springframework.data.mongodb.core.query.Query} parameter when invoking the method. * @@ -62,7 +62,7 @@ public @interface Sharded { /** * The shard key determines the distribution of the collection's documents among the cluster's shards. The shard key * is either a single or multiple indexed properties that exist in every document in the collection. - *

        + *
        * By default the {@literal id} property is used for sharding.
        * NOTE Required indexes are not created automatically. Create these either externally, via * {@link org.springframework.data.mongodb.core.index.IndexOperations#ensureIndex(org.springframework.data.mongodb.core.index.IndexDefinition)} diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/TimeSeries.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/TimeSeries.java index d3f694f53..7151cc3ee 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/TimeSeries.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/TimeSeries.java @@ -29,8 +29,7 @@ import org.springframework.data.mongodb.core.timeseries.Granularity; * * @author Christoph Strobl * @since 3.3 - * @see https://docs.mongodb.com/manual/core/timeseries-collections + * @see https://docs.mongodb.com/manual/core/timeseries-collections */ @Inherited @Retention(RetentionPolicy.RUNTIME) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Unwrapped.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Unwrapped.java index 07c9e1271..fa790a17a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Unwrapped.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Unwrapped.java @@ -27,7 +27,7 @@ import org.springframework.core.annotation.AliasFor; /** * The annotation to configure a value object as flattened out in the target document. - *

        + *
        * Depending on the {@link OnEmpty value} of {@link #onEmpty()} the property is set to {@literal null} or an empty * instance in the case all unwrapped values are {@literal null} when reading from the result set. * @@ -41,7 +41,7 @@ public @interface Unwrapped { /** * Set the load strategy for the unwrapped object if all contained fields yield {@literal null} values. - *

        + *
        * {@link Nullable @Unwrapped.Nullable} and {@link Empty @Unwrapped.Empty} offer shortcuts for this. * * @return never {@link} null. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AfterDeleteEvent.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AfterDeleteEvent.java index c4fc869e6..6dc562690 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AfterDeleteEvent.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AfterDeleteEvent.java @@ -20,7 +20,7 @@ import org.springframework.lang.Nullable; /** * Event being thrown after a single or a set of documents has/have been deleted. The {@link Document} held in the event - * will be the query document after it has been mapped onto the domain type handled. + * will be the query document after it has been mapped onto the domain type handled. * * @author Martin Baumgartner * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/ChangeStreamRequest.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/ChangeStreamRequest.java index b552cb335..7632171f8 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/ChangeStreamRequest.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/ChangeStreamRequest.java @@ -35,13 +35,13 @@ import com.mongodb.client.model.changestream.FullDocument; * {@link SubscriptionRequest} implementation to be used for listening to * Change Streams via a {@link MessageListenerContainer} * using the synchronous MongoDB Java driver. - *

        + *
        * The most trivial use case is subscribing to all events of a specific {@link com.mongodb.client.MongoCollection * collection} * *

          * 
        - *     ChangeStreamRequest request = new ChangeStreamRequest<>(System.out::println, () -> "collection-name");
        + *     ChangeStreamRequest<Document> request = new ChangeStreamRequest<>(System.out::println, () -> "collection-name");
          * 
          * 
        * @@ -50,7 +50,7 @@ import com.mongodb.client.model.changestream.FullDocument; * *
          * 
        - *     ChangeStreamRequest request = new ChangeStreamRequest<>(System.out::println, RequestOptions.justDatabase("test"));
        + *     ChangeStreamRequest<Document> request = new ChangeStreamRequest<>(System.out::println, RequestOptions.justDatabase("test"));
          * 
          * 
        * @@ -63,7 +63,7 @@ import com.mongodb.client.model.changestream.FullDocument; * .returnFullDocumentOnUpdate() * .build(); * - * ChangeStreamRequest request = new ChangeStreamRequest<>(System.out::println, new ChangeStreamRequestOptions("collection-name", options)); + * ChangeStreamRequest<Document> request = new ChangeStreamRequest<>(System.out::println, new ChangeStreamRequestOptions("collection-name", options)); *
        *
      * @@ -72,7 +72,7 @@ import com.mongodb.client.model.changestream.FullDocument; * *
        * 
      - *     ChangeStreamRequest request = ChangeStreamRequest.builder()
      + *     ChangeStreamRequest<Document> request = ChangeStreamRequest.builder()
        *         .collection("collection-name")
        *         .publishTo(System.out::println)
        *         .filter(newAggregation(match(where("age").is(7))))
      @@ -310,13 +310,13 @@ public class ChangeStreamRequest
       
       		/**
       		 * Set the filter to apply.
      -		 * 

      + *
      * Fields on aggregation expression root level are prefixed to map to fields contained in * {@link ChangeStreamDocument#getFullDocument() fullDocument}. However {@literal operationType}, {@literal ns}, * {@literal documentKey} and {@literal fullDocument} are reserved words that will be omitted, and therefore taken * as given, during the mapping procedure. You may want to have a look at the * structure of Change Events. - *

      + *
      * Use {@link org.springframework.data.mongodb.core.aggregation.TypedAggregation} to ensure filter expressions are * mapped to domain type fields. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/DefaultMessageListenerContainer.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/DefaultMessageListenerContainer.java index ce0e987e3..dea0320ef 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/DefaultMessageListenerContainer.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/DefaultMessageListenerContainer.java @@ -36,7 +36,7 @@ import org.springframework.util.ObjectUtils; * Simple {@link Executor} based {@link MessageListenerContainer} implementation for running {@link Task tasks} like * listening to MongoDB Change Streams and tailable * cursors. - *

      + *
      * This message container creates long-running tasks that are executed on {@link Executor}. * * @author Christoph Strobl diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/MessageListenerContainer.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/MessageListenerContainer.java index 8959405ff..31c598044 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/MessageListenerContainer.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/MessageListenerContainer.java @@ -50,8 +50,8 @@ public interface MessageListenerContainer extends SmartLifecycle { * * MessageListenerContainer container = ... * - * MessageListener, Object> messageListener = (message) -> message.... - * ChangeStreamRequest request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); + * MessageListener<ChangeStreamDocument<Document>, Object> messageListener = (message) -> message.... + * ChangeStreamRequest<Object> request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); * * Subscription subscription = container.register(request); * @@ -75,8 +75,8 @@ public interface MessageListenerContainer extends SmartLifecycle { * * MessageListenerContainer container = ... * - * MessageListener, Document> messageListener = (message) -> message.getBody().toJson(); - * ChangeStreamRequest request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); + * MessageListener<ChangeStreamDocument<Document>, Document> messageListener = (message) -> message.getBody().toJson(); + * ChangeStreamRequest<Document> request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); * * Subscription subscription = container.register(request, Document.class); * @@ -84,13 +84,13 @@ public interface MessageListenerContainer extends SmartLifecycle { * * On {@link MessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to shutting * down the container itself. - *

      + *
      * Registering the very same {@link SubscriptionRequest} more than once simply returns the already existing * {@link Subscription}. - *

      + *
      * Unless a {@link Subscription} is {@link #remove(Subscription) removed} form the container, the {@link Subscription} * is restarted once the container itself is restarted. - *

      + *
      * Errors during {@link Message} retrieval lead to {@link Subscription#cancel() cannelation} of the underlying task. * * @param request must not be {@literal null}. @@ -108,8 +108,8 @@ public interface MessageListenerContainer extends SmartLifecycle { * * MessageListenerContainer container = ... * - * MessageListener, Document> messageListener = (message) -> message.getBody().toJson(); - * ChangeStreamRequest request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); + * MessageListener<ChangeStreamDocument<Document>, Document> messageListener = (message) -> message.getBody().toJson(); + * ChangeStreamRequest<Document> request = new ChangeStreamRequest<>(messageListener, () -> "collection-name"); * * Subscription subscription = container.register(request, Document.class); * @@ -117,13 +117,13 @@ public interface MessageListenerContainer extends SmartLifecycle { * * On {@link MessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to shutting * down the container itself. - *

      + *
      * Registering the very same {@link SubscriptionRequest} more than once simply returns the already existing * {@link Subscription}. - *

      + *
      * Unless a {@link Subscription} is {@link #remove(Subscription) removed} form the container, the {@link Subscription} * is restarted once the container itself is restarted. - *

      + *
      * Errors during {@link Message} retrieval are delegated to the given {@link ErrorHandler}. * * @param request must not be {@literal null}. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/Subscription.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/Subscription.java index 988545cd3..5cf32b04d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/Subscription.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/Subscription.java @@ -19,10 +19,10 @@ import java.time.Duration; /** * The {@link Subscription} is the link between the {@link SubscriptionRequest} and the actual running {@link Task}. - *

      + *
      * Due to the asynchronous nature of the {@link Task} execution a {@link Subscription} might not immediately become * active. {@link #isActive()} provides an answer if the underlying {@link Task} is already running. - *

      + *
      * * @author Christoph Strobl * @author Mark Paluch diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java index 96d88456e..661176907 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/messaging/TailableCursorRequest.java @@ -28,13 +28,13 @@ import org.springframework.util.Assert; * {@link SubscriptionRequest} implementation to be used to listen to query results in a * Capped Collection using a * Tailable Cursor. - *

      + *
      * The most trivial use case is subscribing to all events of a specific {@link com.mongodb.client.MongoCollection * collection}. * *

        * 
      - *     TailableCursorRequest request = new TailableCursorRequest<>(System.out::println, () -> "collection-name");
      + *     TailableCursorRequest<Document> request = new TailableCursorRequest<>(System.out::println, () -> "collection-name");
        * 
        * 
      * @@ -43,7 +43,7 @@ import org.springframework.util.Assert; * *
        *   
      - *       TailableCursorRequest request = TailableCursorRequest.builder()
      + *       TailableCursorRequest<Document> request = TailableCursorRequest.builder()
        *           .collection("collection-name")
        *           .publishTo(System.out::println)
        *           .build();
      diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java
      index ca62bb6c3..b856ba400 100644
      --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java
      +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Collation.java
      @@ -33,7 +33,7 @@ import com.mongodb.client.model.CollationStrength;
        * Central abstraction for MongoDB collation support. 
      * Allows fluent creation of a collation {@link Document} that can be used for creating collections & indexes as well as * querying data. - *

      + *
      * NOTE: Please keep in mind that queries will only make use of an index with collation settings if the * query itself specifies the same collation. * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Criteria.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Criteria.java index df167330a..04c63a9d1 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Criteria.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Criteria.java @@ -180,7 +180,7 @@ public class Criteria implements CriteriaDefinition { /** * Creates a criterion using {@literal null} equality comparison which matches documents that either contain the item * field whose value is {@literal null} or that do not contain the item field. - *

      + *
      * Use {@link #isNullValue()} to only query for documents that contain the field whose value is equal to * {@link org.bson.BsonType#NULL}.
      * Use {@link #exists(boolean)} to query for documents that do (not) contain the field. @@ -197,7 +197,7 @@ public class Criteria implements CriteriaDefinition { /** * Creates a criterion using a {@link org.bson.BsonType} comparison which matches only documents that contain the item * field whose value is equal to {@link org.bson.BsonType#NULL}. - *

      + *
      * Use {@link #isNull()} to query for documents that contain the field with a {@literal null} value or do not contain the * field at all.
      * Use {@link #exists(boolean)} to query for documents that do (not) contain the field. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java index b8da598b7..1984441f7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java @@ -40,7 +40,7 @@ import org.springframework.util.ObjectUtils; * actual type within the document is of no concern at this point.
      * To avoid a serious headache make sure to set the {@link Metric} to the desired unit of measure which ensures the * distance to be calculated correctly.
      - *

      + *
      * In other words:
      * Assume you've got 5 Documents like the ones below
      * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaObject.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaObject.java index 4ad64e77b..47279f434 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaObject.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/schema/JsonSchemaObject.java @@ -46,7 +46,7 @@ import org.springframework.util.ObjectUtils; /** * Interface that can be implemented by objects that know how to serialize themselves to JSON schema using * {@link #toDocument()}. - *

      + *
      * This class also declares factory methods for type-specific {@link JsonSchemaObject schema objects} such as * {@link #string()} or {@link #object()}. For example: * diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/script/NamedMongoScript.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/script/NamedMongoScript.java index 98337dcac..913f05aa7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/script/NamedMongoScript.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/script/NamedMongoScript.java @@ -20,7 +20,7 @@ import org.springframework.util.Assert; /** * An {@link ExecutableMongoScript} assigned to a name that allows calling the function by its {@literal name} once it - * has been saved to the {@link com.mongodb.DB} instance. + * has been saved to the {@link com.mongodb.client.MongoDatabase} instance. * * @author Christoph Strobl * @author Oliver Gierke @@ -34,7 +34,7 @@ public class NamedMongoScript { private final ExecutableMongoScript script; /** - * Creates new {@link NamedMongoScript} that can be saved to the {@link com.mongodb.DB} instance. + * Creates new {@link NamedMongoScript} that can be saved to the {@link com.mongodb.client.MongoDatabase} instance. * * @param name must not be {@literal null} or empty. * @param rawScript the {@link String} representation of the {@literal JavaScript} function. Must not be diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Aggregation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Aggregation.java index 8f1e5afbe..acfff74a6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Aggregation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Aggregation.java @@ -27,11 +27,11 @@ import org.springframework.data.annotation.QueryAnnotation; /** * The {@link Aggregation} annotation can be used to annotate a {@link org.springframework.data.repository.Repository} * query method so that it runs the {@link Aggregation#pipeline()} on invocation. - *

      + *
      * Pipeline stages are mapped against the {@link org.springframework.data.repository.Repository} domain type to consider * {@link org.springframework.data.mongodb.core.mapping.Field field} mappings and may contain simple placeholders * {@code ?0} as well as {@link org.springframework.expression.spel.standard.SpelExpression SpelExpressions}. - *

      + *
      * Query method {@link org.springframework.data.domain.Sort} and {@link org.springframework.data.domain.Pageable} * arguments are applied at the end of the pipeline or can be defined manually as part of it. * @@ -60,23 +60,23 @@ public @interface Aggregation { * * // aggregation resulting in collection with single value * @Aggregation("{ '$project': { '_id' : '$lastname' } }") - * List findAllLastnames(); + * List<String> findAllLastnames(); * * // aggregation with parameter replacement * @Aggregation("{ '$group': { '_id' : '$lastname', names : { $addToSet : '$?0' } } }") - * List groupByLastnameAnd(String property); + * List<PersonAggregate> groupByLastnameAnd(String property); * * // aggregation with sort in pipeline * @Aggregation(pipeline = {"{ '$group': { '_id' : '$lastname', names : { $addToSet : '$?0' } } }", "{ '$sort' : { 'lastname' : -1 } }"}) - * List groupByLastnameAnd(String property); + * List<PersonAggregate> groupByLastnameAnd(String property); * * // Sort parameter is used for sorting results * @Aggregation("{ '$group': { '_id' : '$lastname', names : { $addToSet : '$?0' } } }") - * List groupByLastnameAnd(String property, Sort sort); + * List<PersonAggregate> groupByLastnameAnd(String property, Sort sort); * * // Pageable parameter used for sort, skip and limit * @Aggregation("{ '$group': { '_id' : '$lastname', names : { $addToSet : '$?0' } } }") - * List groupByLastnameAnd(String property, Pageable page); + * List<PersonAggregate> groupByLastnameAnd(String property, Pageable page); * * // Single value result aggregation. * @Aggregation("{ '$group' : { '_id' : null, 'total' : { $sum: '$age' } } }") @@ -88,7 +88,7 @@ public @interface Aggregation { * * // Raw aggregation result * @Aggregation("{ '$group' : { '_id' : null, 'total' : { $sum: '$age' } } }) - * AggregationResults<org.bson.Document>> sumAgeAndReturnAggregationResultWrapper(); + * AggregationResults<org.bson.Document>> sumAgeAndReturnAggregationResultWrapper(); *

      * * @return an empty array by default. @@ -102,23 +102,23 @@ public @interface Aggregation { *
       	 * // Fixed value
       	 * @Aggregation(pipeline = "...", collation = "en_US")
      -	 * List findAllByFixedCollation();
      +	 * List<Entry> findAllByFixedCollation();
       	 *
       	 * // Fixed value as Document
       	 * @Aggregation(pipeline = "...", collation = "{ 'locale' :  'en_US' }")
      -	 * List findAllByFixedJsonCollation();
      +	 * List<Entry> findAllByFixedJsonCollation();
       	 *
       	 * // Dynamic value as String
       	 * @Aggregation(pipeline = "...", collation = "?0")
      -	 * List findAllByDynamicCollation(String collation);
      +	 * List<Entry> findAllByDynamicCollation(String collation);
       	 *
       	 * // Dynamic value as Document
       	 * @Aggregation(pipeline = "...", collation = "{ 'locale' :  ?0 }")
      -	 * List findAllByDynamicJsonCollation(String collation);
      +	 * List<Entry> findAllByDynamicJsonCollation(String collation);
       	 *
       	 * // SpEL expression
       	 * @Aggregation(pipeline = "...", collation = "?#{[0]}")
      -	 * List findAllByDynamicSpElCollation(String collation);
      +	 * List<Entry> findAllByDynamicSpElCollation(String collation);
       	 * 
      * * @return an empty {@link String} by default. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Query.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Query.java index 6b4309845..5f1541782 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Query.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/Query.java @@ -87,7 +87,7 @@ public @interface Query { * * * @Query(sort = "{ age : -1 }") // order by age descending - * List findByFirstname(String firstname); + * List<Person> findByFirstname(String firstname); * * * @@ -102,23 +102,23 @@ public @interface Query { *
       	 * // Fixed value
       	 * @Query(collation = "en_US")
      -	 * List findAllByFixedCollation();
      +	 * List<Entry> findAllByFixedCollation();
       	 *
       	 * // Fixed value as Document
       	 * @Query(collation = "{ 'locale' :  'en_US' }")
      -	 * List findAllByFixedJsonCollation();
      +	 * List<Entry> findAllByFixedJsonCollation();
       	 *
       	 * // Dynamic value as String
       	 * @Query(collation = "?0")
      -	 * List findAllByDynamicCollation(String collation);
      +	 * List<Entry> findAllByDynamicCollation(String collation);
       	 *
       	 * // Dynamic value as Document
       	 * @Query(collation = "{ 'locale' :  ?0 }")
      -	 * List findAllByDynamicJsonCollation(String collation);
      +	 * List<Entry> findAllByDynamicJsonCollation(String collation);
       	 *
       	 * // SpEL expression
       	 * @Query(collation = "?#{[0]}")
      -	 * List findAllByDynamicSpElCollation(String collation);
      +	 * List<Entry> findAllByDynamicSpElCollation(String collation);
       	 * 
      * * @return an empty {@link String} by default. diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java index dafb6fd65..eae562e4b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java @@ -438,7 +438,7 @@ class MongoQueryCreator extends AbstractQueryCreator { /** * Compute a {@link Type#BETWEEN} typed {@link Part} using {@link Criteria#gt(Object) $gt}, * {@link Criteria#gte(Object) $gte}, {@link Criteria#lt(Object) $lt} and {@link Criteria#lte(Object) $lte}. - *

      + *
      * In case the first {@literal value} is actually a {@link Range} the lower and upper bounds of the {@link Range} are * used according to their {@link Bound#isInclusive() inclusion} definition. Otherwise the {@literal value} is used * for {@literal $gt} and {@link Iterator#next() parameters.next()} as {@literal $lt}.

    FormatExample