|
FOSSredder 0.5.0
|
Coordinates analysis lookup, execution, and transaction preview filtering. More...
#include <AnalysisService.h>


Public Member Functions | |
| AnalysisService ()=default | |
| AnalysisService (std::shared_ptr< core::ports::analysis_rendering::IAnalysisRenderer > imageRenderer) | |
| ~AnalysisService ()=default | |
| AnalysisService (const AnalysisService &)=delete | |
| AnalysisService & | operator= (const AnalysisService &)=delete |
| AnalysisService (AnalysisService &&) noexcept=default | |
| AnalysisService & | operator= (AnalysisService &&) noexcept=default |
| core::ports::analysis::AnalysisResult | runAnalysis (const core::domain::catalog::WorkspaceCatalog &state, const core::ports::analysis::AnalysisRequest &request) const |
| Runs one analysis request against the supplied workspace state. | |
| core::ports::analysis::AnalysisResult | runAnalysis (const core::ports::workspace::WorkspaceSnapshot &workspace, const core::ports::analysis::AnalysisRequest &request) const override |
| Runs one analysis request against a workspace port snapshot. | |
| core::ports::analysis::AnalysisResult | runAnalysisById (const core::domain::catalog::WorkspaceCatalog &state, const std::string &analysisId, const std::string &filterSpec={}) const |
| Resolves an analysis by identifier and executes it. | |
| core::ports::analysis::AnalysisResult | computeAnalysis (const core::domain::Analysis &analysis, const core::domain::catalog::WorkspaceCatalog &state, const std::string &filterSpec={}) const |
| Computes a concrete analysis definition against the supplied workspace state. | |
| std::vector< std::shared_ptr< core::domain::Transaction > > | filterTransactions (const core::domain::catalog::WorkspaceCatalog &state, const std::string &filterSpec={}) const |
| Returns the transactions matched by one analysis filter specification. | |
| core::ports::analysis::AnalysisPreviewResult | previewTransactions (const core::ports::workspace::WorkspaceSnapshot &workspace, const core::ports::analysis::AnalysisFilterSelection &filter) const override |
| Returns port-native transaction preview rows for one filter specification. | |
| core::ports::analysis::AnalysisFilterSelection | filterSelectionFromFields (const std::string &dateField, const std::string &dateMode, const std::string &year, const std::string &dateFrom, const std::string &dateTo, const std::vector< std::string > &propertyIds, const std::vector< std::string > &contractTypes, const std::string &allocatableMode) const override |
| Builds a normalized filter selection from raw field values. | |
| core::ports::analysis::AnalysisFilterSelection | parseFilterSpec (const std::string &filterSpec) const override |
| Parses a serialized filter spec through the analysis use case. | |
| std::string | buildFilterSpec (const core::ports::analysis::AnalysisFilterSelection &selection) const override |
| Serializes a filter selection through the analysis use case. | |
| std::string | buildAnalysisConfigJson (const core::ports::analysis::AnalysisConfigInput &input) const override |
| Builds serialized analysis configuration from typed input. | |
| core::ports::analysis::AnalysisAdjustmentAmounts | buildAnalysisAdjustments (const std::vector< core::ports::analysis::AnalysisAdjustmentTransactionInput > &transactions, const std::vector< std::string > &selectedTransactionIds, double taxPercent) const override |
| std::optional< double > | parseAnalysisPercentText (const std::string &text) const override |
| Parses user-entered analysis percentage text. | |
| void | applyAnalysisPreviewOverrides (core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &analysisId, bool includeCalculationAdjustments, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments) const override |
| Applies preview-only analysis fields to a workspace snapshot. | |
| core::ports::analysis::AnalysisTableState | projectTableState (const core::ports::analysis::AnalysisResult &result, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments, bool includeCalculationAdjustments, const std::string &unassignedLabel) const override |
| Projects analysis result table state for UI consumption. | |
| std::vector< std::string > | contractTypes (const core::ports::workspace::WorkspaceSnapshot &workspace) const override |
| Returns available contract types for analysis filters. | |
| Public Member Functions inherited from core::ports::analysis::IAnalysisRunner | |
| virtual | ~IAnalysisRunner ()=default |
| Destroys the analysis runner port. | |
| virtual AnalysisAdjustmentAmounts | buildAnalysisAdjustments (const std::vector< AnalysisAdjustmentTransactionInput > &transactions, const std::vector< std::string > &selectedTransactionIds, double taxPercent) const =0 |
| Builds adjustment amounts for selected transactions. | |
Coordinates analysis lookup, execution, and transaction preview filtering.
Definition at line 30 of file AnalysisService.h.
|
default |

|
explicit |
Definition at line 352 of file AnalysisService.cpp.
|
default |
|
delete |

|
defaultnoexcept |

|
overridevirtual |
Applies preview-only analysis fields to a workspace snapshot.
| workspace | Workspace snapshot to mutate for preview. |
| analysisId | Target analysis id. |
| includeCalculationAdjustments | Whether adjustments are included. |
| adjustments | Adjustment amount pairs keyed by transaction id. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 623 of file AnalysisService.cpp.

|
override |
|
overridevirtual |
Builds serialized analysis configuration from typed input.
| input | Analysis config input. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 596 of file AnalysisService.cpp.

|
overridevirtual |
Serializes a filter selection through the analysis use case.
| selection | Filter selection. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 591 of file AnalysisService.cpp.

| core::ports::analysis::AnalysisResult core::application::analysis::AnalysisService::computeAnalysis | ( | const core::domain::Analysis & | analysis, |
| const core::domain::catalog::WorkspaceCatalog & | state, | ||
| const std::string & | filterSpec = {} ) const |
Computes a concrete analysis definition against the supplied workspace state.
| analysis | Analysis definition to execute. |
| state | Current workspace catalog snapshot. |
| filterSpec | Optional filter override applied during execution. |
Definition at line 394 of file AnalysisService.cpp.


|
overridevirtual |
Returns available contract types for analysis filters.
| workspace | Workspace snapshot used as source. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 709 of file AnalysisService.cpp.


|
overridevirtual |
Builds a normalized filter selection from raw field values.
| dateField | Date field key. |
| dateMode | Date mode key. |
| year | Year text. |
| dateFrom | Start date text. |
| dateTo | End date text. |
| propertyIds | Selected property ids. |
| contractTypes | Selected contract types. |
| allocatableMode | Allocatable mode key. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 575 of file AnalysisService.cpp.

| std::vector< std::shared_ptr< core::domain::Transaction > > core::application::analysis::AnalysisService::filterTransactions | ( | const core::domain::catalog::WorkspaceCatalog & | state, |
| const std::string & | filterSpec = {} ) const |
Returns the transactions matched by one analysis filter specification.
| state | Current workspace catalog snapshot. |
| filterSpec | Raw analysis filter specification. |
Definition at line 456 of file AnalysisService.cpp.


|
defaultnoexcept |

|
delete |

|
overridevirtual |
Parses user-entered analysis percentage text.
| text | Percent text, optionally with percent sign or comma decimal. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 619 of file AnalysisService.cpp.

|
overridevirtual |
Parses a serialized filter spec through the analysis use case.
| filterSpec | Serialized filter specification. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 587 of file AnalysisService.cpp.

|
overridevirtual |
Returns port-native transaction preview rows for one filter specification.
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 464 of file AnalysisService.cpp.

|
overridevirtual |
Projects analysis result table state for UI consumption.
| result | Analysis result. |
| adjustments | Adjustment amount pairs keyed by transaction id. |
| includeCalculationAdjustments | Whether adjustments are included. |
| unassignedLabel | Label used for unassigned contract type. |
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 631 of file AnalysisService.cpp.
| core::ports::analysis::AnalysisResult core::application::analysis::AnalysisService::runAnalysis | ( | const core::domain::catalog::WorkspaceCatalog & | state, |
| const core::ports::analysis::AnalysisRequest & | request ) const |
Runs one analysis request against the supplied workspace state.
| state | Current workspace catalog snapshot. |
| request | Analysis request containing identifier and optional filter override. |
Definition at line 358 of file AnalysisService.cpp.


|
overridevirtual |
Runs one analysis request against a workspace port snapshot.
Implements core::ports::analysis::IAnalysisRunner.
Definition at line 368 of file AnalysisService.cpp.

| core::ports::analysis::AnalysisResult core::application::analysis::AnalysisService::runAnalysisById | ( | const core::domain::catalog::WorkspaceCatalog & | state, |
| const std::string & | analysisId, | ||
| const std::string & | filterSpec = {} ) const |
Resolves an analysis by identifier and executes it.
| state | Current workspace catalog snapshot. |
| analysisId | Identifier of the stored analysis definition. |
| filterSpec | Optional filter override applied instead of the stored filter. |
Definition at line 375 of file AnalysisService.cpp.

