FOSSredder 0.5.0
Loading...
Searching...
No Matches
SqliteAnalysisRepository Class Reference

#include <SqliteAnalysisRepository.h>

Inheritance diagram for SqliteAnalysisRepository:
Collaboration diagram for SqliteAnalysisRepository:

Classes

struct  Impl

Public Member Functions

 SqliteAnalysisRepository (const std::string &dbPath)
 Create an analysis repository for the database at the given path.
 SqliteAnalysisRepository (std::shared_ptr< SqliteDb > db)
 Create an analysis repository using an existing database handle wrapper.
 ~SqliteAnalysisRepository () override
 Destroy the repository.
void addAnalysis (const std::shared_ptr< core::domain::Analysis > &analysis) override
 Insert a new analysis.
std::vector< std::shared_ptr< core::domain::Analysis > > getAnalyses () const override
 Retrieve all analyses.
std::optional< std::shared_ptr< core::domain::Analysis > > getAnalysisById (const std::string &id) const override
 Retrieve an analysis by identifier.
void removeAnalysis (const std::string &id) override
 Remove an analysis by identifier.
void updateAnalysis (const std::shared_ptr< core::domain::Analysis > &analysis) override
 Update an existing analysis.
void upsertAnalysis (const std::shared_ptr< core::domain::Analysis > &analysis) override
 Insert or update an analysis.
void clearAnalyses () override
 Remove all analyses.
sqlite3 * sqliteHandle () const noexcept override
 Return the SQLite handle.
Public Member Functions inherited from core::ports::repositories::IAnalysisRepository
virtual ~IAnalysisRepository ()=default
 Destroy the analysis repository interface.
Public Member Functions inherited from ISqlConnectionProvider
virtual ~ISqlConnectionProvider ()=default

Detailed Description

Definition at line 16 of file SqliteAnalysisRepository.h.

Constructor & Destructor Documentation

◆ SqliteAnalysisRepository() [1/2]

SqliteAnalysisRepository::SqliteAnalysisRepository ( const std::string & dbPath)
explicit

Create an analysis repository for the database at the given path.

Parameters
dbPathSQLite database path.

Definition at line 107 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SqliteAnalysisRepository() [2/2]

SqliteAnalysisRepository::SqliteAnalysisRepository ( std::shared_ptr< SqliteDb > db)
explicit

Create an analysis repository using an existing database handle wrapper.

Parameters
dbShared SQLite database wrapper.

Definition at line 110 of file SqliteAnalysisRepository.cpp.

◆ ~SqliteAnalysisRepository()

SqliteAnalysisRepository::~SqliteAnalysisRepository ( )
overridedefault

Destroy the repository.

Member Function Documentation

◆ addAnalysis()

void SqliteAnalysisRepository::addAnalysis ( const std::shared_ptr< core::domain::Analysis > & analysis)
overridevirtual

Insert a new analysis.

Parameters
analysisAnalysis to add.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 121 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearAnalyses()

void SqliteAnalysisRepository::clearAnalyses ( )
overridevirtual

Remove all analyses.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 247 of file SqliteAnalysisRepository.cpp.

◆ getAnalyses()

std::vector< std::shared_ptr< Analysis > > SqliteAnalysisRepository::getAnalyses ( ) const
overridevirtual

Retrieve all analyses.

Returns
All stored analyses.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 154 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:

◆ getAnalysisById()

std::optional< std::shared_ptr< Analysis > > SqliteAnalysisRepository::getAnalysisById ( const std::string & id) const
overridevirtual

Retrieve an analysis by identifier.

Parameters
idAnalysis identifier.
Returns
Analysis with the requested identifier, if found.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 173 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:

◆ removeAnalysis()

void SqliteAnalysisRepository::removeAnalysis ( const std::string & id)
overridevirtual

Remove an analysis by identifier.

Parameters
idAnalysis identifier.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 192 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:

◆ sqliteHandle()

sqlite3 * SqliteAnalysisRepository::sqliteHandle ( ) const
overridevirtualnoexcept

Return the SQLite handle.

Returns
SQLite database handle.

Implements ISqlConnectionProvider.

Definition at line 256 of file SqliteAnalysisRepository.cpp.

◆ updateAnalysis()

void SqliteAnalysisRepository::updateAnalysis ( const std::shared_ptr< core::domain::Analysis > & analysis)
overridevirtual

Update an existing analysis.

Parameters
analysisAnalysis to update.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 203 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ upsertAnalysis()

void SqliteAnalysisRepository::upsertAnalysis ( const std::shared_ptr< core::domain::Analysis > & analysis)
overridevirtual

Insert or update an analysis.

Parameters
analysisAnalysis to upsert.

Implements core::ports::repositories::IAnalysisRepository.

Definition at line 235 of file SqliteAnalysisRepository.cpp.

Here is the call graph for this function:

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