|
@@ -4,13 +4,14 @@
|
|
|
* Company: Lynar Studios
|
|
* Company: Lynar Studios
|
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
|
* Created: 2023-02-21
|
|
* Created: 2023-02-21
|
|
|
-* Changed: 2026-06-23
|
|
|
|
|
|
|
+* Changed: 2026-06-24
|
|
|
*
|
|
*
|
|
|
* */
|
|
* */
|
|
|
|
|
|
|
|
#include <ls-std/core/ConditionalFunctionExecutor.hpp>
|
|
#include <ls-std/core/ConditionalFunctionExecutor.hpp>
|
|
|
#include <ls-std/core/exception/IllegalArgumentException.hpp>
|
|
#include <ls-std/core/exception/IllegalArgumentException.hpp>
|
|
|
#include <ls-std/io/FileReader.hpp>
|
|
#include <ls-std/io/FileReader.hpp>
|
|
|
|
|
+#include <ls-std/io/NewLine.hpp>
|
|
|
#include <ls-std/io/evaluator/FileExistenceEvaluator.hpp>
|
|
#include <ls-std/io/evaluator/FileExistenceEvaluator.hpp>
|
|
|
#include <ls-std/io/section-pair/model/SectionPairDocument.hpp>
|
|
#include <ls-std/io/section-pair/model/SectionPairDocument.hpp>
|
|
|
#include <ls-std/io/section-pair/reader/SectionPairFileReader.hpp>
|
|
#include <ls-std/io/section-pair/reader/SectionPairFileReader.hpp>
|
|
@@ -24,6 +25,7 @@ using ls::standard::core::type::byte_field;
|
|
|
using ls::standard::io::File;
|
|
using ls::standard::io::File;
|
|
|
using ls::standard::io::FileExistenceEvaluator;
|
|
using ls::standard::io::FileExistenceEvaluator;
|
|
|
using ls::standard::io::FileReader;
|
|
using ls::standard::io::FileReader;
|
|
|
|
|
+using ls::standard::io::NewLine;
|
|
|
using ls::standard::io::SectionPairDocument;
|
|
using ls::standard::io::SectionPairDocument;
|
|
|
using ls::standard::io::SectionPairFileExtensionValidator;
|
|
using ls::standard::io::SectionPairFileExtensionValidator;
|
|
|
using ls::standard::io::SectionPairFileReader;
|
|
using ls::standard::io::SectionPairFileReader;
|
|
@@ -52,11 +54,13 @@ byte_field SectionPairFileReader::read()
|
|
|
{
|
|
{
|
|
|
this->parameter.getDocument()->clear();
|
|
this->parameter.getDocument()->clear();
|
|
|
byte_field data = this->parameter.getReader()->read();
|
|
byte_field data = this->parameter.getReader()->read();
|
|
|
|
|
+ this->parameter.getDocument()->reserveNewLine(SectionPairFileReader::_detectNewLine(data));
|
|
|
this->parameter.getDocument()->unmarshal(data);
|
|
this->parameter.getDocument()->unmarshal(data);
|
|
|
|
|
|
|
|
return data;
|
|
return data;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
void SectionPairFileReader::_checkFileExtension() const
|
|
void SectionPairFileReader::_checkFileExtension() const
|
|
|
{
|
|
{
|
|
|
if (!SectionPairFileExtensionValidator{this->parameter.getFilePath()}.isValid())
|
|
if (!SectionPairFileExtensionValidator{this->parameter.getFilePath()}.isValid())
|
|
@@ -81,3 +85,8 @@ void SectionPairFileReader::_createReader()
|
|
|
File file{this->parameter.getFilePath()};
|
|
File file{this->parameter.getFilePath()};
|
|
|
this->parameter.setReader(make_shared<FileReader>(file));
|
|
this->parameter.setReader(make_shared<FileReader>(file));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+string SectionPairFileReader::_detectNewLine(const byte_field &_data)
|
|
|
|
|
+{
|
|
|
|
|
+ return _data.find(NewLine::getWindowsNewLine()) != string::npos ? NewLine::getWindowsNewLine() : NewLine::getUnixNewLine();
|
|
|
|
|
+}
|