Prechádzať zdrojové kódy

Replace FileNotFoundException with evaluator inside library

Patrick-Christopher Mattulat 2 rokov pred
rodič
commit
6fdfb7ded2

+ 1 - 3
include/ls-std/io/FileReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-06
+ * Changed:         2023-02-22
  *
  * */
 
@@ -30,8 +30,6 @@ namespace ls::std::io
     private:
 
       ls::std::io::File file;
-
-      static void _init(ls::std::io::File &_file);
   };
 }
 

+ 1 - 3
include/ls-std/io/FileWriter.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-06
+ * Changed:         2023-02-22
  *
  * */
 
@@ -30,8 +30,6 @@ namespace ls::std::io
     private:
 
       ls::std::io::File file;
-
-      static void _init(ls::std::io::File &_file);
   };
 }
 

+ 7 - 12
source/ls-std/io/FileOutputStream.cpp

@@ -3,13 +3,13 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2023-02-07
+ * Changed:         2023-02-22
  *
  * */
 
-#include <ls-std/core/exception/FileNotFoundException.hpp>
 #include <ls-std/core/exception/FileOperationException.hpp>
 #include <ls-std/io/FileOutputStream.hpp>
+#include <ls-std/io/evaluator/FileExistenceEvaluator.hpp>
 
 ls::std::io::FileOutputStream::FileOutputStream(ls::std::io::File &_file) : ls::std::core::Class("FileOutputStream"), file(_file)
 {
@@ -60,19 +60,14 @@ void ls::std::io::FileOutputStream::_close()
 
 void ls::std::io::FileOutputStream::_init()
 {
-  if (!this->file.exists())
+  ls::std::io::FileExistenceEvaluator{this->file.getAbsoluteFilePath()}.evaluate();
+
+  if (this->append)
   {
-    throw ls::std::core::FileNotFoundException{"name: " + this->file.getAbsoluteFilePath()};
+    this->outputStream.open(this->file.getAbsoluteFilePath(), ::std::ios::out | ::std::ios::app);
   }
   else
   {
-    if (this->append)
-    {
-      this->outputStream.open(this->file.getAbsoluteFilePath(), ::std::ios::out | ::std::ios::app);
-    }
-    else
-    {
-      this->outputStream.open(this->file.getAbsoluteFilePath());
-    }
+    this->outputStream.open(this->file.getAbsoluteFilePath());
   }
 }

+ 4 - 12
source/ls-std/io/FileReader.cpp

@@ -3,18 +3,18 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-07
+ * Changed:         2023-02-22
  *
  * */
 
 #include <fstream>
-#include <ls-std/core/exception/FileNotFoundException.hpp>
 #include <ls-std/core/exception/FileOperationException.hpp>
 #include <ls-std/io/FileReader.hpp>
+#include <ls-std/io/evaluator/FileExistenceEvaluator.hpp>
 
 ls::std::io::FileReader::FileReader(ls::std::io::File &_file) : ls::std::core::Class("FileReader"), file(_file)
 {
-  ls::std::io::FileReader::_init(_file);
+  ls::std::io::FileExistenceEvaluator{_file.getAbsoluteFilePath()}.evaluate();
 }
 
 ls::std::io::FileReader::~FileReader() = default;
@@ -41,14 +41,6 @@ ls::std::core::type::byte_field ls::std::io::FileReader::read()
 
 void ls::std::io::FileReader::reset(ls::std::io::File &_file)
 {
-  ls::std::io::FileReader::_init(_file);
+  ls::std::io::FileExistenceEvaluator{_file.getAbsoluteFilePath()}.evaluate();
   this->file = _file;
 }
-
-void ls::std::io::FileReader::_init(ls::std::io::File &_file)
-{
-  if (!_file.exists())
-  {
-    throw ls::std::core::FileNotFoundException{"name: " + _file.getAbsoluteFilePath()};
-  }
-}

+ 4 - 12
source/ls-std/io/FileWriter.cpp

@@ -3,24 +3,24 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2023-02-07
+ * Changed:         2023-02-22
  *
  * */
 
 #include <fstream>
-#include <ls-std/core/exception/FileNotFoundException.hpp>
 #include <ls-std/io/FileWriter.hpp>
+#include <ls-std/io/evaluator/FileExistenceEvaluator.hpp>
 
 ls::std::io::FileWriter::FileWriter(ls::std::io::File &_file) : ls::std::core::Class("FileWriter"), file(_file)
 {
-  ls::std::io::FileWriter::_init(_file);
+  ls::std::io::FileExistenceEvaluator{_file.getAbsoluteFilePath()}.evaluate();
 }
 
 ls::std::io::FileWriter::~FileWriter() = default;
 
 void ls::std::io::FileWriter::reset(ls::std::io::File &_file)
 {
-  ls::std::io::FileWriter::_init(_file);
+  ls::std::io::FileExistenceEvaluator{_file.getAbsoluteFilePath()}.evaluate();
   this->file = _file;
 }
 
@@ -32,11 +32,3 @@ bool ls::std::io::FileWriter::write(const ls::std::core::type::byte_field &_data
 
   return !outputStream.fail();
 }
-
-void ls::std::io::FileWriter::_init(ls::std::io::File &_file)
-{
-  if (!_file.exists())
-  {
-    throw ls::std::core::FileNotFoundException{"name: " + _file.getAbsoluteFilePath()};
-  }
-}