CatapultServer  v0.5.0.1 (Elephant)
catapult::mongo::MongoTransactionPlugin Class Referenceabstract

A mongo transaction plugin. More...

Inheritance diagram for catapult::mongo::MongoTransactionPlugin:
Collaboration diagram for catapult::mongo::MongoTransactionPlugin:

Public Member Functions

virtual std::vector< bsoncxx::document::value > extractDependentDocuments (const model::Transaction &transaction, const MongoTransactionMetadata &metadata) const =0
 
virtual bool supportsEmbedding () const =0
 true if this transaction type supports embedding. More...
 
virtual const EmbeddedMongoTransactionPluginembeddedPlugin () const =0
 Gets the corresponding embedded plugin if supportsEmbedding() is true. More...
 
- Public Member Functions inherited from catapult::mongo::MongoTransactionPluginT< model::Transaction >
virtual ~MongoTransactionPluginT ()=default
 
virtual model::EntityType type () const=0
 Gets the transaction entity type. More...
 
virtual void streamTransaction (bsoncxx::builder::stream::document &builder, const model::Transaction &transaction) const=0
 Streams a transaction to builder. More...
 

Detailed Description

A mongo transaction plugin.

Member Function Documentation

◆ embeddedPlugin()

virtual const EmbeddedMongoTransactionPlugin& catapult::mongo::MongoTransactionPlugin::embeddedPlugin ( ) const
pure virtual

◆ extractDependentDocuments()

virtual std::vector<bsoncxx::document::value> catapult::mongo::MongoTransactionPlugin::extractDependentDocuments ( const model::Transaction transaction,
const MongoTransactionMetadata metadata 
) const
pure virtual

Extracts dependent documents from transaction given the associated metadata.

Note
The document representing the transaction is created separately via the streamTransaction() call.

Implemented in catapult::mongo::MongoTransactionPluginFactory::TransactionPluginT< TTransaction, TEmbeddedTransaction >.

◆ supportsEmbedding()

virtual bool catapult::mongo::MongoTransactionPlugin::supportsEmbedding ( ) const
pure virtual

The documentation for this class was generated from the following file: