diff options
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.kt | 28 |
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>() + } +} |