com.holonplatform.datastore.mongo.reactor.internal

## Class DefaultReactiveMongoDatastore

- java.lang.Object
- - com.holonplatform.core.internal.datastore.AbstractDatastore<X>
  - - com.holonplatform.core.internal.datastore.AbstractInitializableDatastore<X>
    - - com.holonplatform.datastore.mongo.core.internal.datastore.AbstractMongoDatastore<AsyncMongoDatastoreCommodityContext,com.mongodb.reactivestreams.client.ClientSession,TX,com.mongodb.reactivestreams.client.MongoDatabase>
      - - com.holonplatform.datastore.mongo.core.async.internal.AbstractAsyncMongoDatastore<ReactiveMongoTransaction>
        - - com.holonplatform.datastore.mongo.reactor.internal.DefaultReactiveMongoDatastore

- All Implemented Interfaces:
    com.holonplatform.core.datastore.ConfigurableDatastore, com.holonplatform.core.datastore.DataContextBound, com.holonplatform.core.datastore.DatastoreCommodityContext, com.holonplatform.core.datastore.DatastoreCommodityHandler, com.holonplatform.core.datastore.DatastoreCommodityRegistrar<AsyncMongoDatastoreCommodityContext>, com.holonplatform.core.datastore.DatastoreExpressionResolverRegistrar, com.holonplatform.core.datastore.DatastoreOperations<reactor.core.publisher.Mono<com.holonplatform.core.datastore.Datastore.OperationResult>,reactor.core.publisher.Mono<com.holonplatform.core.property.PropertyBox>,com.holonplatform.reactor.datastore.operation.ReactiveBulkInsert,com.holonplatform.reactor.datastore.operation.ReactiveBulkUpdate,com.holonplatform.reactor.datastore.operation.ReactiveBulkDelete,com.holonplatform.reactor.datastore.operation.ReactiveQuery>, com.holonplatform.core.ExpressionResolver.ExpressionResolverHandler, com.holonplatform.core.ExpressionResolver.ExpressionResolverProvider, com.holonplatform.core.ExpressionResolver.ExpressionResolverSupport, BaseAsyncMongoDatastore, AsyncMongoDatastoreCommodityContext, MongoDatastoreCommodityContext<com.mongodb.reactivestreams.client.MongoDatabase,com.mongodb.reactivestreams.client.ClientSession>, MongoContext<com.mongodb.reactivestreams.client.ClientSession>, MongoOperationContext<com.mongodb.reactivestreams.client.MongoDatabase,com.mongodb.reactivestreams.client.ClientSession>, MongoDatabaseHandler<com.mongodb.reactivestreams.client.MongoDatabase>, ReactiveMongoDatastore, com.holonplatform.reactor.datastore.ReactiveDatastore, com.holonplatform.reactor.datastore.transaction.ReactiveTransactional, Serializable

      public class DefaultReactiveMongoDatastore
      extends AbstractAsyncMongoDatastore<ReactiveMongoTransaction>
      implements ReactiveMongoDatastore

  Default `ReactiveMongoDatastore` implementation.
  Since:
    5.2.0
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `DefaultReactiveMongoDatastore.DefaultBuilder`

    - ### Nested classes/interfaces inherited from class com.holonplatform.datastore.mongo.core.async.internal.AbstractAsyncMongoDatastore

      `AbstractAsyncMongoDatastore.AsyncBuilder<TX extends MongoTransaction<com.mongodb.reactivestreams.client.ClientSession>,I extends AbstractAsyncMongoDatastore<TX>,D extends com.holonplatform.core.datastore.DatastoreOperations,B extends BaseAsyncMongoDatastore.Builder<D,TX,B>>`

    - ### Nested classes/interfaces inherited from class com.holonplatform.datastore.mongo.core.internal.datastore.AbstractMongoDatastore

      `com.holonplatform.datastore.mongo.core.internal.datastore.AbstractMongoDatastore.AbstractBuilder<MDB,CX extends com.holonplatform.core.datastore.DatastoreCommodityContext,S extends com.mongodb.session.ClientSession,TX extends MongoTransaction<S>,I extends com.holonplatform.datastore.mongo.core.internal.datastore.AbstractMongoDatastore<CX,S,TX,MDB>,D extends com.holonplatform.core.datastore.DatastoreOperations,B extends MongoDatastoreBuilder<D,S,TX,B>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.datastore.mongo.reactor.ReactiveMongoDatastore

      `ReactiveMongoDatastore.Builder`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.datastore.DatastoreOperations

      `com.holonplatform.core.datastore.DatastoreOperations.WriteOption`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.datastore.DatastoreCommodityContext

      `com.holonplatform.core.datastore.DatastoreCommodityContext.CommodityConfigurationException, com.holonplatform.core.datastore.DatastoreCommodityContext.CommodityNotAvailableException`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultReactiveMongoDatastore()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `toString()`
    `<R> reactor.core.publisher.Flux<R>` | `withTransaction(com.holonplatform.reactor.datastore.transaction.ReactiveTransactionalOperation<R> operation, com.holonplatform.core.datastore.transaction.TransactionConfiguration transactionConfiguration)`

    - ### Methods inherited from class com.holonplatform.datastore.mongo.core.async.internal.AbstractAsyncMongoDatastore

      `getClient, getClientSession, getDatabaseCodecRegistry, isAsync, setClient, withDatabase`

    - ### Methods inherited from class com.holonplatform.datastore.mongo.core.internal.datastore.AbstractMongoDatastore

      `getDatabaseName, getDefaultEnumCodecStrategy, getDefaultReadConcern, getDefaultReadPreference, getDefaultWriteConcern, getDocumentIdResolver, setDatabaseName, setDefaultReadConcern, setDefaultReadPreference, setDefaultWriteConcern, setDocumentIdResolver, setEnumCodecStrategy, setTransactionFactory, trace`

    - ### Methods inherited from class com.holonplatform.core.internal.datastore.AbstractInitializableDatastore

      `getInitializationClassLoader, initialize, isInitialized, setInitializationClassLoader`

    - ### Methods inherited from class com.holonplatform.core.internal.datastore.AbstractDatastore

      `addExpressionResolver, create, getAvailableCommodities, getCommodityFactoryType, getDataContextId, getExpressionResolvers, getExpressionResolverType, isTraceEnabled, registerCommodity, removeExpressionResolver, resolve, setDataContextId, setTraceEnabled`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.holonplatform.datastore.mongo.reactor.ReactiveMongoDatastore

      `builder`

    - ### Methods inherited from interface com.holonplatform.datastore.mongo.core.MongoDatabaseHandler

      `withDatabase, withDatabase`

    - ### Methods inherited from interface com.holonplatform.core.datastore.DatastoreCommodityRegistrar

      `getCommodityFactoryType, registerCommodity`

    - ### Methods inherited from interface com.holonplatform.reactor.datastore.ReactiveDatastore

      `bulkDelete, bulkInsert, bulkUpdate, delete, insert, isTransactional, query, query, refresh, requireTransactional, save, update`

    - ### Methods inherited from interface com.holonplatform.core.datastore.DatastoreCommodityHandler

      `create, getAvailableCommodities, hasCommodity`

    - ### Methods inherited from interface com.holonplatform.core.ExpressionResolver.ExpressionResolverSupport

      `addExpressionResolver, addExpressionResolvers, removeExpressionResolver`

    - ### Methods inherited from interface com.holonplatform.core.datastore.DataContextBound

      `getDataContextId`

    - ### Methods inherited from interface com.holonplatform.reactor.datastore.transaction.ReactiveTransactional

      `withTransaction`

    - ### Methods inherited from interface com.holonplatform.datastore.mongo.core.config.MongoDatastoreCommodityContext

      `getDatabaseName`

    - ### Methods inherited from interface com.holonplatform.datastore.mongo.core.context.MongoContext

      `getDefaultEnumCodecStrategy, getDefaultReadConcern, getDefaultReadPreference, getDefaultWriteConcern, getDocumentIdResolver, toJson, toJson, toJson, trace, trace, trace, trace`

    - ### Methods inherited from interface com.holonplatform.core.ExpressionResolver.ExpressionResolverProvider

      `getExpressionResolvers`

- - ### Constructor Detail

    - #### DefaultReactiveMongoDatastore

          public DefaultReactiveMongoDatastore()

  - ### Method Detail

    - #### withTransaction

          public <R> reactor.core.publisher.Flux<R> withTransaction(com.holonplatform.reactor.datastore.transaction.ReactiveTransactionalOperation<R> operation,
                                                                    com.holonplatform.core.datastore.transaction.TransactionConfiguration transactionConfiguration)

      Specified by:
        `withTransaction` in interface `com.holonplatform.reactor.datastore.transaction.ReactiveTransactional`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `com.holonplatform.core.internal.datastore.AbstractDatastore<AsyncMongoDatastoreCommodityContext>`

Copyright © 2019 The Holon Platform. All rights reserved.