summaryrefslogtreecommitdiff
path: root/support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt
diff options
context:
space:
mode:
Diffstat (limited to 'support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt')
-rw-r--r--support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt28
1 files changed, 28 insertions, 0 deletions
diff --git a/support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt b/support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt
new file mode 100644
index 0000000000..4153dc48c0
--- /dev/null
+++ b/support/texplate/source/main/kotlin/org/islandoftex/texplate/model/handlers/FileReaderHandler.kt
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model.handlers
+
+import java.io.File
+
+/**
+ * Implements a file reader handler.
+ *
+ * @version 1.0.3
+ * @since 1.0.3
+ */
+class FileReaderHandler : Handler {
+
+ /**
+ * Applies the conversion to the string.
+ *
+ * @param string The string denoting a file.
+ * @return A list of strings from the file.
+ */
+ override fun apply(string: String?): Any? {
+ return string?.let {
+ val file = File(string)
+ if (file.exists() && file.isFile)
+ file.readLines()
+ else null
+ } ?: emptyList<String>()
+ }
+}