/*
* Author:          Patrick-Christopher Mattulat
* Co-Author:       Claude Sonnet 4.6 (LLM)
* Company:         Lynar Studios
* E-Mail:          webmaster@lynarstudios.com
* Created:         2023-02-21
* Changed:         2026-06-23
*
* */

#include <ls-std/io/section-pair/reader/SectionPairFileReaderParameter.hpp>

using ls::standard::core::interface_type::IEvaluator;
using ls::standard::core::interface_type::IReader;
using ls::standard::io::SectionPairDocument;
using ls::standard::io::SectionPairFileReaderParameter;
using std::shared_ptr;
using std::string;
using std::string_view;

SectionPairFileReaderParameter::SectionPairFileReaderParameter() = default;

SectionPairFileReaderParameter::~SectionPairFileReaderParameter() = default;

shared_ptr<SectionPairDocument> SectionPairFileReaderParameter::getDocument() const
{
  return this->document;
}

shared_ptr<IEvaluator> SectionPairFileReaderParameter::getFileExistenceEvaluator() const
{
  return this->fileExistenceEvaluator;
}

string SectionPairFileReaderParameter::getFilePath() const
{
  return this->filePath;
}

shared_ptr<IReader> SectionPairFileReaderParameter::getReader() const
{
  return this->reader;
}

void SectionPairFileReaderParameter::setDocument(const shared_ptr<SectionPairDocument> &_document)
{
  this->document = _document;
}

void SectionPairFileReaderParameter::setFileExistenceEvaluator(const shared_ptr<IEvaluator> &_fileExistenceEvaluator)
{
  this->fileExistenceEvaluator = _fileExistenceEvaluator;
}

void SectionPairFileReaderParameter::setFilePath(const string_view _filePath)
{
  this->filePath = _filePath;
}

void SectionPairFileReaderParameter::setReader(const shared_ptr<IReader> &_reader)
{
  this->reader = _reader;
}
