public abstract class BaseWriteOperation extends java.lang.Object implements AsyncWriteOperation<WriteConcernResult>, WriteOperation<WriteConcernResult>
Modifier and Type | Field and Description |
---|---|
private java.lang.Boolean |
bypassDocumentValidation |
private MongoNamespace |
namespace |
private boolean |
ordered |
private WriteConcern |
writeConcern |
Constructor and Description |
---|
BaseWriteOperation(MongoNamespace namespace,
boolean ordered,
WriteConcern writeConcern)
Construct an instance
|
Modifier and Type | Method and Description |
---|---|
private void |
addBulkWriteResultToResponse(BulkWriteResult bulkWriteResult,
BsonDocument response) |
BaseWriteOperation |
bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
Sets the bypass document level validation flag.
|
private MongoException |
convertBulkWriteException(MongoBulkWriteException e) |
WriteConcernResult |
execute(WriteBinding binding)
General execute which can return anything of type T
|
void |
executeAsync(AsyncWriteBinding binding,
SingleResultCallback<WriteConcernResult> callback)
General execute which can return anything of type T
|
protected abstract BulkWriteResult |
executeCommandProtocol(Connection connection)
Executes the write command protocol.
|
protected abstract void |
executeCommandProtocolAsync(AsyncConnection connection,
SingleResultCallback<BulkWriteResult> callback)
Asynchronously executes the write command protocol.
|
protected abstract WriteConcernResult |
executeProtocol(Connection connection)
Executes the write protocol
|
protected abstract void |
executeProtocolAsync(AsyncConnection connection,
SingleResultCallback<WriteConcernResult> callback)
Asynchronously executes the write protocol
|
java.lang.Boolean |
getBypassDocumentValidation()
Gets the the bypass document level validation flag
|
protected abstract int |
getCount(BulkWriteResult bulkWriteResult) |
private BulkWriteError |
getLastError(MongoBulkWriteException e) |
MongoNamespace |
getNamespace()
Gets the namespace of the collection to write to.
|
protected abstract WriteRequest.Type |
getType() |
protected boolean |
getUpdatedExisting(BulkWriteResult bulkWriteResult) |
WriteConcern |
getWriteConcern()
Gets the write concern to apply
|
boolean |
isOrdered()
Gets whether the writes are ordered.
|
private BsonDocument |
manufactureGetLastErrorResponse(MongoBulkWriteException e) |
private WriteConcernResult |
translateBulkWriteResult(BulkWriteResult bulkWriteResult) |
private MongoException |
translateException(java.lang.Throwable t) |
private final WriteConcern writeConcern
private final MongoNamespace namespace
private final boolean ordered
private java.lang.Boolean bypassDocumentValidation
public BaseWriteOperation(MongoNamespace namespace, boolean ordered, WriteConcern writeConcern)
namespace
- the database and collection namespace for the operation.ordered
- whether the writes are ordered.writeConcern
- the write concern for the operation.public MongoNamespace getNamespace()
public WriteConcern getWriteConcern()
public boolean isOrdered()
public java.lang.Boolean getBypassDocumentValidation()
public BaseWriteOperation bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
bypassDocumentValidation
- If true, allows the write to opt-out of document level validation.public WriteConcernResult execute(WriteBinding binding)
WriteOperation
execute
in interface WriteOperation<WriteConcernResult>
binding
- the binding to execute in the context ofpublic void executeAsync(AsyncWriteBinding binding, SingleResultCallback<WriteConcernResult> callback)
AsyncWriteOperation
executeAsync
in interface AsyncWriteOperation<WriteConcernResult>
binding
- the binding to execute in the context ofcallback
- the callback to be called when the operation has been executedprotected abstract WriteConcernResult executeProtocol(Connection connection)
connection
- the connectionprotected abstract void executeProtocolAsync(AsyncConnection connection, SingleResultCallback<WriteConcernResult> callback)
connection
- the connectioncallback
- the callback to be passed the WriteConcernResultprotected abstract BulkWriteResult executeCommandProtocol(Connection connection)
connection
- the connectionprotected abstract void executeCommandProtocolAsync(AsyncConnection connection, SingleResultCallback<BulkWriteResult> callback)
connection
- the connectioncallback
- the callback to be passed the BulkWriteResultprivate MongoException translateException(java.lang.Throwable t)
private MongoException convertBulkWriteException(MongoBulkWriteException e)
private BsonDocument manufactureGetLastErrorResponse(MongoBulkWriteException e)
private void addBulkWriteResultToResponse(BulkWriteResult bulkWriteResult, BsonDocument response)
private WriteConcernResult translateBulkWriteResult(BulkWriteResult bulkWriteResult)
protected abstract WriteRequest.Type getType()
protected abstract int getCount(BulkWriteResult bulkWriteResult)
protected boolean getUpdatedExisting(BulkWriteResult bulkWriteResult)
private BulkWriteError getLastError(MongoBulkWriteException e)