|
FOSSredder 0.5.0
|
Exposes state mutation and workspace persistence as a single application facade. More...
#include <WorkspaceFacade.h>


Public Types | |
| using | SnapshotChanged = core::ports::workspace::IWorkspaceWriter::SnapshotChanged |
| Public Types inherited from core::ports::workspace::IWorkspaceWriter | |
| using | SnapshotChanged = std::function<void(const WorkspaceSnapshot&)> |
| using | DeletionImpactCallback = std::function<void(const DeletionImpact&)> |
Public Member Functions | |
| WorkspaceFacade (std::unique_ptr< core::ports::storage::IStorageManager > storageManager) | |
| Construct with unique ownership of an IStorageManager. | |
| ~WorkspaceFacade () | |
| WorkspaceFacade (const WorkspaceFacade &)=delete | |
| WorkspaceFacade & | operator= (const WorkspaceFacade &)=delete |
| WorkspaceFacade (WorkspaceFacade &&) noexcept | |
| WorkspaceFacade & | operator= (WorkspaceFacade &&) noexcept |
| void | setSnapshotChangedCallback (SnapshotChanged cb) override |
| Registers a snapshot callback used by read-side consumers. | |
| void | setErrorReporter (std::shared_ptr< core::ports::diagnostics::IErrorReporter > reporter) override |
| Registers the error reporter used by workspace operations. | |
| void | setAtomicStoreSave (core::ports::storage::IStorageManager::AtomicStoreSave saveFn) override |
| Registers the atomic save callback delegated to the storage manager. | |
| void | setAtomicStoreLoad (core::ports::storage::IStorageManager::AtomicStoreLoad loadFn) override |
| Registers the atomic load callback delegated to the storage manager. | |
| void | setDeletionImpactCallback (core::ports::workspace::IWorkspaceWriter::DeletionImpactCallback cb) override |
| Registers a callback that receives deletion impact information after saves. | |
| core::ports::workspace::WorkspaceSnapshot | workspaceSnapshot () const override |
| Returns the current immutable workspace snapshot. | |
| std::optional< core::ports::workspace::StatementDraftSnapshot > | statementDraftSnapshot (const std::string &draftId={}) const override |
| Returns one statement draft snapshot. | |
| core::ports::workspace::WorkspaceIdentitySnapshot | actorIdentityByName (const std::string &name) const override |
| Looks up an actor identity by name. | |
| core::ports::workspace::WorkspaceIdentitySnapshot | propertyIdentityByName (const std::string &name) const override |
| Looks up a property identity by name. | |
| core::ports::workspace::WorkspaceIdentitySnapshot | contractIdentityBySignature (const std::string &name, const std::string &type, const std::vector< std::string > &actorIds, const std::vector< std::string > &propertyIds) const override |
| Looks up a contract identity by signature. | |
| core::ports::workspace::TransactionCatalogSelection | transactionCatalogSelection (const core::ports::workspace::TransactionCatalogSelectionChange &change) const override |
| Applies catalog-dependent transaction selection rules. | |
| std::string | nextContractName () const override |
| Returns the next generated contract name. | |
| void | openLatest () override |
| Opens the latest workspace file. | |
| void | newFile (const std::string &path) override |
| Creates a new workspace file. | |
| void | openFile (const std::string &path) override |
| Opens a workspace file. | |
| void | saveFile () override |
| Saves the current workspace file. | |
| void | saveFileAs (const std::string &path) override |
| Saves the current workspace file to another path. | |
| void | commit () override |
| Commits pending workspace storage changes. | |
| void | notifySnapshot () override |
| Publishes a fresh workspace snapshot. | |
| core::ports::workspace::ValidationResult | validateActor (const core::ports::workspace::ActorCommand &command) const override |
| Validates an actor command. | |
| core::ports::workspace::ValidationResult | validateProperty (const core::ports::workspace::PropertyCommand &command) const override |
| Validates a property command. | |
| core::ports::workspace::ValidationResult | validateContract (const core::ports::workspace::ContractCommand &command) const override |
| Validates a contract command. | |
| core::ports::workspace::ValidationResult | validateStatement (const core::ports::workspace::StatementCommand &command) const override |
| Validates a statement command. | |
| core::ports::workspace::ValidationResult | validateTransaction (const core::ports::workspace::TransactionCommand &command) const override |
| Validates a transaction command. | |
| core::ports::workspace::ValidationResult | validateStatementWithTransactions (const core::ports::workspace::StatementWithTransactionsCommand &command) const override |
| Validates a statement batch command. | |
| core::ports::workspace::ValidationResult | validateAnalysis (const core::ports::workspace::AnalysisCommand &command) const override |
| Validates an analysis command. | |
| core::ports::workspace::ValidationResult | validateAnnual (const core::ports::workspace::AnnualCommand &command) const override |
| Validates an annual command. | |
| std::string | addActor (const core::ports::workspace::ActorCommand &command) override |
| Adds an actor. | |
| void | updateActor (const core::ports::workspace::ActorCommand &command) override |
| Updates an actor. | |
| void | deleteActor (const std::string &id) override |
| Deletes an actor. | |
| std::string | addProperty (const core::ports::workspace::PropertyCommand &command) override |
| Adds a property. | |
| void | updateProperty (const core::ports::workspace::PropertyCommand &command) override |
| Updates a property. | |
| void | deleteProperty (const std::string &id) override |
| Deletes a property. | |
| std::string | addContract (const core::ports::workspace::ContractCommand &command) override |
| Adds a contract. | |
| void | updateContract (const core::ports::workspace::ContractCommand &command) override |
| Updates a contract. | |
| void | deleteContract (const std::string &id) override |
| Deletes a contract. | |
| std::string | addStatement (const core::ports::workspace::StatementCommand &command) override |
| Adds a statement. | |
| std::string | addStatementWithTransactions (const core::ports::workspace::StatementWithTransactionsCommand &command) override |
| Adds a statement and its transactions. | |
| void | updateStatement (const core::ports::workspace::StatementCommand &command) override |
| Updates a statement. | |
| void | deleteStatement (const std::string &id) override |
| Deletes a statement. | |
| std::string | addTransaction (const core::ports::workspace::TransactionCommand &command) override |
| Adds a transaction. | |
| void | updateTransaction (const core::ports::workspace::TransactionCommand &command) override |
| Updates a transaction. | |
| void | deleteTransaction (const std::string &id) override |
| Deletes a transaction. | |
| std::string | addAnalysis (const core::ports::workspace::AnalysisCommand &command) override |
| Adds an analysis. | |
| void | updateAnalysis (const core::ports::workspace::AnalysisCommand &command) override |
| Updates an analysis. | |
| void | deleteAnalysis (const std::string &id) override |
| Deletes an analysis. | |
| std::string | addAnnual (const core::ports::workspace::AnnualCommand &command) override |
| Adds an annual. | |
| void | updateAnnual (const core::ports::workspace::AnnualCommand &command) override |
| Updates an annual. | |
| void | deleteAnnual (const std::string &id) override |
| Deletes an annual. | |
| std::string | finalizeStatementDraft (const core::ports::workspace::FinalizeStatementDraftCommand &command) override |
| Finalizes a statement draft. | |
| void | saveStatementDraft (const core::ports::workspace::StatementDraftCommand &command) override |
| Saves a statement draft. | |
| void | clearStatementDraft (const std::string &draftId={}) override |
| Clears one statement draft or all drafts when id is empty. | |
| void | saveImportLog (const core::ports::workspace::ImportLogCommand &command) override |
| Saves an import log. | |
| void | deleteImportLog (const std::string &id) override |
| Deletes an import log. | |
| void | saveExportLog (const core::ports::workspace::ExportLogCommand &command) override |
| Saves an export log. | |
| void | deleteExportLog (const std::string &id) override |
| Deletes an export log. | |
| std::string | currentPath () const override |
| Returns the current workspace path tracked by the storage layer. | |
| Public Member Functions inherited from core::ports::workspace::IWorkspaceReader | |
| virtual | ~IWorkspaceReader ()=default |
| Public Member Functions inherited from core::ports::workspace::IWorkspaceWriter | |
| virtual | ~IWorkspaceWriter ()=default |
| Destroys the workspace writer port. | |
Exposes state mutation and workspace persistence as a single application facade.
This type is consumed by presentation-layer controllers in ui, while the actual MVC-style UI controllers remain outside core.
Definition at line 31 of file WorkspaceFacade.h.
| using core::application::WorkspaceFacade::SnapshotChanged = core::ports::workspace::IWorkspaceWriter::SnapshotChanged |
Definition at line 34 of file WorkspaceFacade.h.
|
explicit |
Construct with unique ownership of an IStorageManager.
| storageManager | Unique pointer to the storage manager implementation. |
Definition at line 37 of file WorkspaceFacade.cpp.

|
default |
|
delete |

|
defaultnoexcept |

|
overridevirtual |
Looks up an actor identity by name.
| name | Actor name. |
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 97 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds an actor.
| command | Actor command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 184 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds an analysis.
| command | Analysis command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 249 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds an annual.
| command | Annual command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 261 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds a contract.
| command | Contract command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 212 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds a property.
| command | Property command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 196 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds a statement.
| command | Statement command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 220 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds a statement and its transactions.
| command | Statement creation command with transaction commands. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 224 of file WorkspaceFacade.cpp.
|
overridevirtual |
Adds a transaction.
| command | Transaction command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 237 of file WorkspaceFacade.cpp.
|
overridevirtual |
Clears one statement draft or all drafts when id is empty.
| draftId | Statement draft id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 281 of file WorkspaceFacade.cpp.
|
overridevirtual |
Commits pending workspace storage changes.
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 143 of file WorkspaceFacade.cpp.
|
overridevirtual |
Looks up a contract identity by signature.
| name | Contract name. |
| type | Contract type. |
| actorIds | Linked actor ids. |
| propertyIds | Linked property ids. |
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 105 of file WorkspaceFacade.cpp.
|
overridevirtual |
Returns the current workspace path tracked by the storage layer.
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 301 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes an actor.
| id | Actor id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 192 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes an analysis.
| id | Analysis id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 257 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes an annual.
| id | Annual id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 269 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes a contract.
| id | Contract id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 208 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes an export log.
| id | Export log id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 297 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes an import log.
| id | Import log id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 289 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes a property.
| id | Property id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 204 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes a statement.
| id | Statement id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 233 of file WorkspaceFacade.cpp.
|
overridevirtual |
Deletes a transaction.
| id | Transaction id. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 245 of file WorkspaceFacade.cpp.
|
overridevirtual |
Finalizes a statement draft.
| command | Finalization command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 273 of file WorkspaceFacade.cpp.
|
overridevirtual |
Creates a new workspace file.
| path | Target file path. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 127 of file WorkspaceFacade.cpp.
|
overridevirtual |
Returns the next generated contract name.
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 119 of file WorkspaceFacade.cpp.
|
overridevirtual |
Publishes a fresh workspace snapshot.
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 147 of file WorkspaceFacade.cpp.
|
overridevirtual |
Opens a workspace file.
| path | Source file path. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 131 of file WorkspaceFacade.cpp.
|
overridevirtual |
Opens the latest workspace file.
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 123 of file WorkspaceFacade.cpp.
|
delete |

|
defaultnoexcept |

|
overridevirtual |
Looks up a property identity by name.
| name | Property name. |
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 101 of file WorkspaceFacade.cpp.
|
overridevirtual |
Saves an export log.
| command | Export log command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 293 of file WorkspaceFacade.cpp.
|
overridevirtual |
Saves the current workspace file.
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 135 of file WorkspaceFacade.cpp.
|
overridevirtual |
Saves the current workspace file to another path.
| path | Target file path. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 139 of file WorkspaceFacade.cpp.
|
overridevirtual |
Saves an import log.
| command | Import log command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 285 of file WorkspaceFacade.cpp.
|
overridevirtual |
Saves a statement draft.
| command | Statement draft command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 277 of file WorkspaceFacade.cpp.
|
overridevirtual |
Registers the atomic load callback delegated to the storage manager.
| loadFn | Load callback implementation. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 74 of file WorkspaceFacade.cpp.

|
overridevirtual |
Registers the atomic save callback delegated to the storage manager.
| saveFn | Save callback implementation. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 70 of file WorkspaceFacade.cpp.

|
overridevirtual |
Registers a callback that receives deletion impact information after saves.
| cb | Deletion impact callback implementation. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 78 of file WorkspaceFacade.cpp.

|
overridevirtual |
Registers the error reporter used by workspace operations.
| reporter | Shared error reporter implementation. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 66 of file WorkspaceFacade.cpp.

|
overridevirtual |
Registers a snapshot callback used by read-side consumers.
| cb | Callback invoked after state changes publish a fresh snapshot. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 52 of file WorkspaceFacade.cpp.


|
overridevirtual |
Returns one statement draft snapshot.
| draftId | Optional statement draft identifier. |
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 93 of file WorkspaceFacade.cpp.

|
overridevirtual |
Applies catalog-dependent transaction selection rules.
| change | Transaction catalog selection change. |
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 114 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates an actor.
| command | Actor command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 188 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates an analysis.
| command | Analysis command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 253 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates an annual.
| command | Annual command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 265 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates a contract.
| command | Contract command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 216 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates a property.
| command | Property command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 200 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates a statement.
| command | Statement command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 229 of file WorkspaceFacade.cpp.
|
overridevirtual |
Updates a transaction.
| command | Transaction command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 241 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates an actor command.
| command | Actor command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 151 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates an analysis command.
| command | Analysis command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 176 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates an annual command.
| command | Annual command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 180 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates a contract command.
| command | Contract command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 159 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates a property command.
| command | Property command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 155 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates a statement command.
| command | Statement command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 163 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates a statement batch command.
| command | Statement and transaction command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 171 of file WorkspaceFacade.cpp.
|
overridevirtual |
Validates a transaction command.
| command | Transaction command. |
Implements core::ports::workspace::IWorkspaceWriter.
Definition at line 167 of file WorkspaceFacade.cpp.
|
overridevirtual |
Returns the current immutable workspace snapshot.
Implements core::ports::workspace::IWorkspaceReader.
Definition at line 88 of file WorkspaceFacade.cpp.
