it.unibo.alchemist.boundary.modelproviders.YamlProvider.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alchemist-loading Show documentation
Show all versions of alchemist-loading Show documentation
Alchemist Machinery to load from files
/*
* Copyright (C) 2010-2023, Danilo Pianini and contributors
* listed, for each module, in the respective subproject's build.gradle.kts file.
*
* This file is part of Alchemist, and is distributed under the terms of the
* GNU General Public License, with a linking exception,
* as described in the file LICENSE in the Alchemist distribution's top directory.
*/
package it.unibo.alchemist.boundary.modelproviders
import it.unibo.alchemist.boundary.AlchemistModelProvider
import org.yaml.snakeyaml.LoaderOptions
import org.yaml.snakeyaml.Yaml
import java.io.InputStream
import java.io.Reader
import java.net.URL
/**
* Loads YAML files via SnakeYAML.
*/
object YamlProvider : AlchemistModelProvider {
private val loaderOptions: LoaderOptions = LoaderOptions().withMaxAliasesForCollections()
override val fileExtensions: Regex = "[yY][aA]?[mM][lL]".toRegex()
override fun from(input: String): Map =
Yaml(loaderOptions).load
© 2015 - 2025 Weber Informatics LLC | Privacy Policy