Я пытаюсь создать общую функцию для чтения файлов yaml с той же вложенной структурой, но с разными свойствами в scala, используя snakeYaml. Как один ямл мог быть
myMap:
-
name: key1
value: value1
-
name: key2
value: value2
Другой ямл мог быть
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
}
Может какое-нибудь тело, пожалуйста, помогите
myConfig
универсальным, взяв тип внутриArrayList
в качестве универсального параметра? - person flyx   schedule 17.10.2019