Я пытаюсь создать универсальную функцию для чтения yaml-файлов с той же вложенной структурой, но с разными свойствами в scala, используя snakeYaml. Например, один yaml может быть
myMap:
-
name: key1
value: value1
-
name: key2
value: value2
Другой yaml может быть
myMap:
-
name: key1
value: value1
data: data1
-
name: key2
value: value2
data: data2
Чтобы прочитать первый yaml, я могу читать, используя приведенный ниже код из здесь :
class configParamsKeyValue {
@BeanProperty var name: String = null
@BeanProperty var value: String = null
}
class myConfig{
@BeanProperty var myMap= new java.util.ArrayList[configParamsKeyValue]();
}
def loadConfig(filename : String): myConfig = {
val yaml = new Yaml(new Constructor(classOf[myConfig]))
val stream = new FileInputStream(filename)
try {
val obj = yaml.load(stream)
obj.asInstanceOf[myConfig]
} finally {
stream.close()
}
}
Я хочу иметь возможность передать этот тип configParamsKeyValue ArrayList в качестве параметра в классе myConfig, чтобы я мог также прочитать второй файл yaml, определив другой класс, например
class configParamsKeyValueData {
@BeanProperty var name: String = null
@BeanProperty var value: String = null
@BeanProperty var data: String = null
}
Можеткакое-то тело, пожалуйста, помогите