32
32
namespace MongoDB . Driver
33
33
{
34
34
/// <inheritdoc/>
35
- public class MongoClient : MongoClientBase
35
+ public sealed class MongoClient : IMongoClient
36
36
{
37
37
// private fields
38
38
private readonly IClusterInternal _cluster ;
@@ -96,19 +96,11 @@ internal MongoClient(IOperationExecutor operationExecutor, MongoClientSettings s
96
96
}
97
97
98
98
// public properties
99
- /// <summary>
100
- /// Gets the cluster.
101
- /// </summary>
102
- public override ICluster Cluster
103
- {
104
- get { return _cluster ; }
105
- }
99
+ /// <inheritdoc/>
100
+ public ICluster Cluster => _cluster ;
106
101
107
102
/// <inheritdoc/>
108
- public sealed override MongoClientSettings Settings
109
- {
110
- get { return _settings ; }
111
- }
103
+ public MongoClientSettings Settings => _settings ;
112
104
113
105
// internal properties
114
106
internal IAutoEncryptionLibMongoCryptController LibMongoCryptController => _libMongoCryptController ;
@@ -130,13 +122,13 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
130
122
131
123
// public methods
132
124
/// <inheritdoc/>
133
- public sealed override void DropDatabase ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
125
+ public void DropDatabase ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
134
126
{
135
127
UsingImplicitSession ( session => DropDatabase ( session , name , cancellationToken ) , cancellationToken ) ;
136
128
}
137
129
138
130
/// <inheritdoc/>
139
- public sealed override void DropDatabase ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
131
+ public void DropDatabase ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
140
132
{
141
133
Ensure . IsNotNull ( session , nameof ( session ) ) ;
142
134
var messageEncoderSettings = GetMessageEncoderSettings ( ) ;
@@ -148,13 +140,13 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
148
140
}
149
141
150
142
/// <inheritdoc/>
151
- public sealed override Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
143
+ public Task DropDatabaseAsync ( string name , CancellationToken cancellationToken = default ( CancellationToken ) )
152
144
{
153
145
return UsingImplicitSessionAsync ( session => DropDatabaseAsync ( session , name , cancellationToken ) , cancellationToken ) ;
154
146
}
155
147
156
148
/// <inheritdoc/>
157
- public sealed override Task DropDatabaseAsync ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
149
+ public Task DropDatabaseAsync ( IClientSessionHandle session , string name , CancellationToken cancellationToken = default ( CancellationToken ) )
158
150
{
159
151
Ensure . IsNotNull ( session , nameof ( session ) ) ;
160
152
var messageEncoderSettings = GetMessageEncoderSettings ( ) ;
@@ -166,42 +158,42 @@ internal void ConfigureAutoEncryptionMessageEncoderSettings(MessageEncoderSettin
166
158
}
167
159
168
160
/// <inheritdoc/>
169
- public sealed override IMongoDatabase GetDatabase ( string name , MongoDatabaseSettings settings = null )
161
+ public IMongoDatabase GetDatabase ( string name , MongoDatabaseSettings settings = null )
170
162
{
171
163
settings = settings == null ?
172
164
new MongoDatabaseSettings ( ) :
173
165
settings . Clone ( ) ;
174
166
175
167
settings . ApplyDefaultValues ( _settings ) ;
176
168
177
- return new MongoDatabaseImpl ( this , new DatabaseNamespace ( name ) , settings , _cluster , _operationExecutor ) ;
169
+ return new MongoDatabase ( this , new DatabaseNamespace ( name ) , settings , _cluster , _operationExecutor ) ;
178
170
}
179
171
180
172
/// <inheritdoc />
181
- public sealed override IAsyncCursor < string > ListDatabaseNames (
173
+ public IAsyncCursor < string > ListDatabaseNames (
182
174
CancellationToken cancellationToken = default ( CancellationToken ) )
183
175
{
184
176
return ListDatabaseNames ( options : null , cancellationToken ) ;
185
177
}
186
178
187
179
/// <inheritdoc />
188
- public sealed override IAsyncCursor < string > ListDatabaseNames (
180
+ public IAsyncCursor < string > ListDatabaseNames (
189
181
ListDatabaseNamesOptions options ,
190
182
CancellationToken cancellationToken = default ( CancellationToken ) )
191
183
{
192
184
return UsingImplicitSession ( session => ListDatabaseNames ( session , options , cancellationToken ) , cancellationToken ) ;
193
185
}
194
186
195
187
/// <inheritdoc />
196
- public sealed override IAsyncCursor < string > ListDatabaseNames (
188
+ public IAsyncCursor < string > ListDatabaseNames (
197
189
IClientSessionHandle session ,
198
190
CancellationToken cancellationToken = default ( CancellationToken ) )
199
191
{
200
192
return ListDatabaseNames ( session , options : null , cancellationToken ) ;
201
193
}
202
194
203
195
/// <inheritdoc />
204
- public sealed override IAsyncCursor < string > ListDatabaseNames (
196
+ public IAsyncCursor < string > ListDatabaseNames (
205
197
IClientSessionHandle session ,
206
198
ListDatabaseNamesOptions options ,
207
199
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -213,30 +205,30 @@ public sealed override IAsyncCursor<string> ListDatabaseNames(
213
205
}
214
206
215
207
/// <inheritdoc />
216
- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
208
+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
217
209
CancellationToken cancellationToken = default ( CancellationToken ) )
218
210
{
219
211
return ListDatabaseNamesAsync ( options : null , cancellationToken ) ;
220
212
}
221
213
222
214
/// <inheritdoc />
223
- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
215
+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
224
216
ListDatabaseNamesOptions options ,
225
217
CancellationToken cancellationToken = default ( CancellationToken ) )
226
218
{
227
219
return UsingImplicitSessionAsync ( session => ListDatabaseNamesAsync ( session , options , cancellationToken ) , cancellationToken ) ;
228
220
}
229
221
230
222
/// <inheritdoc />
231
- public sealed override Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
223
+ public Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
232
224
IClientSessionHandle session ,
233
225
CancellationToken cancellationToken = default ( CancellationToken ) )
234
226
{
235
227
return ListDatabaseNamesAsync ( session , options : null , cancellationToken ) ;
236
228
}
237
229
238
230
/// <inheritdoc />
239
- public sealed override async Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
231
+ public async Task < IAsyncCursor < string > > ListDatabaseNamesAsync (
240
232
IClientSessionHandle session ,
241
233
ListDatabaseNamesOptions options ,
242
234
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -248,30 +240,30 @@ public sealed override async Task<IAsyncCursor<string>> ListDatabaseNamesAsync(
248
240
}
249
241
250
242
/// <inheritdoc/>
251
- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
243
+ public IAsyncCursor < BsonDocument > ListDatabases (
252
244
CancellationToken cancellationToken = default ( CancellationToken ) )
253
245
{
254
246
return UsingImplicitSession ( session => ListDatabases ( session , cancellationToken ) , cancellationToken ) ;
255
247
}
256
248
257
249
/// <inheritdoc/>
258
- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
250
+ public IAsyncCursor < BsonDocument > ListDatabases (
259
251
ListDatabasesOptions options ,
260
252
CancellationToken cancellationToken = default ( CancellationToken ) )
261
253
{
262
254
return UsingImplicitSession ( session => ListDatabases ( session , options , cancellationToken ) , cancellationToken ) ;
263
255
}
264
256
265
257
/// <inheritdoc/>
266
- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
258
+ public IAsyncCursor < BsonDocument > ListDatabases (
267
259
IClientSessionHandle session ,
268
260
CancellationToken cancellationToken = default ( CancellationToken ) )
269
261
{
270
262
return ListDatabases ( session , null , cancellationToken ) ;
271
263
}
272
264
273
265
/// <inheritdoc/>
274
- public sealed override IAsyncCursor < BsonDocument > ListDatabases (
266
+ public IAsyncCursor < BsonDocument > ListDatabases (
275
267
IClientSessionHandle session ,
276
268
ListDatabasesOptions options ,
277
269
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -285,30 +277,30 @@ public sealed override IAsyncCursor<BsonDocument> ListDatabases(
285
277
}
286
278
287
279
/// <inheritdoc/>
288
- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
280
+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
289
281
CancellationToken cancellationToken = default ( CancellationToken ) )
290
282
{
291
283
return UsingImplicitSessionAsync ( session => ListDatabasesAsync ( session , null , cancellationToken ) , cancellationToken ) ;
292
284
}
293
285
294
286
/// <inheritdoc/>
295
- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
287
+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
296
288
ListDatabasesOptions options ,
297
289
CancellationToken cancellationToken = default ( CancellationToken ) )
298
290
{
299
291
return UsingImplicitSessionAsync ( session => ListDatabasesAsync ( session , options , cancellationToken ) , cancellationToken ) ;
300
292
}
301
293
302
294
/// <inheritdoc/>
303
- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
295
+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
304
296
IClientSessionHandle session ,
305
297
CancellationToken cancellationToken = default ( CancellationToken ) )
306
298
{
307
299
return ListDatabasesAsync ( session , null , cancellationToken ) ;
308
300
}
309
301
310
302
/// <inheritdoc/>
311
- public sealed override Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
303
+ public Task < IAsyncCursor < BsonDocument > > ListDatabasesAsync (
312
304
IClientSessionHandle session ,
313
305
ListDatabasesOptions options ,
314
306
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -340,19 +332,19 @@ internal Task<IClientSessionHandle> StartImplicitSessionAsync(CancellationToken
340
332
}
341
333
342
334
/// <inheritdoc/>
343
- public sealed override IClientSessionHandle StartSession ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
335
+ public IClientSessionHandle StartSession ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
344
336
{
345
337
return StartSession ( options ) ;
346
338
}
347
339
348
340
/// <inheritdoc/>
349
- public sealed override Task < IClientSessionHandle > StartSessionAsync ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
341
+ public Task < IClientSessionHandle > StartSessionAsync ( ClientSessionOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
350
342
{
351
343
return Task . FromResult ( StartSession ( options ) ) ;
352
344
}
353
345
354
346
/// <inheritdoc/>
355
- public override IChangeStreamCursor < TResult > Watch < TResult > (
347
+ public IChangeStreamCursor < TResult > Watch < TResult > (
356
348
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
357
349
ChangeStreamOptions options = null ,
358
350
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -361,7 +353,7 @@ public override IChangeStreamCursor<TResult> Watch<TResult>(
361
353
}
362
354
363
355
/// <inheritdoc/>
364
- public override IChangeStreamCursor < TResult > Watch < TResult > (
356
+ public IChangeStreamCursor < TResult > Watch < TResult > (
365
357
IClientSessionHandle session ,
366
358
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
367
359
ChangeStreamOptions options = null ,
@@ -375,7 +367,7 @@ public override IChangeStreamCursor<TResult> Watch<TResult>(
375
367
}
376
368
377
369
/// <inheritdoc/>
378
- public override Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
370
+ public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
379
371
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
380
372
ChangeStreamOptions options = null ,
381
373
CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -384,7 +376,7 @@ public override Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(
384
376
}
385
377
386
378
/// <inheritdoc/>
387
- public override Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
379
+ public Task < IChangeStreamCursor < TResult > > WatchAsync < TResult > (
388
380
IClientSessionHandle session ,
389
381
PipelineDefinition < ChangeStreamDocument < BsonDocument > , TResult > pipeline ,
390
382
ChangeStreamOptions options = null ,
@@ -398,7 +390,7 @@ public override Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(
398
390
}
399
391
400
392
/// <inheritdoc/>
401
- public override IMongoClient WithReadConcern ( ReadConcern readConcern )
393
+ public IMongoClient WithReadConcern ( ReadConcern readConcern )
402
394
{
403
395
Ensure . IsNotNull ( readConcern , nameof ( readConcern ) ) ;
404
396
var newSettings = Settings . Clone ( ) ;
@@ -407,7 +399,7 @@ public override IMongoClient WithReadConcern(ReadConcern readConcern)
407
399
}
408
400
409
401
/// <inheritdoc/>
410
- public override IMongoClient WithReadPreference ( ReadPreference readPreference )
402
+ public IMongoClient WithReadPreference ( ReadPreference readPreference )
411
403
{
412
404
Ensure . IsNotNull ( readPreference , nameof ( readPreference ) ) ;
413
405
var newSettings = Settings . Clone ( ) ;
@@ -416,7 +408,7 @@ public override IMongoClient WithReadPreference(ReadPreference readPreference)
416
408
}
417
409
418
410
/// <inheritdoc/>
419
- public override IMongoClient WithWriteConcern ( WriteConcern writeConcern )
411
+ public IMongoClient WithWriteConcern ( WriteConcern writeConcern )
420
412
{
421
413
Ensure . IsNotNull ( writeConcern , nameof ( writeConcern ) ) ;
422
414
var newSettings = Settings . Clone ( ) ;
0 commit comments