我正在尝试使一个泛型函数使用snakeYaml在scala中读取具有相同嵌套结构但属性不同的yaml文件。就像一个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,我可以使用here中的以下代码进行阅读:
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()
}
}
我希望能够将ArrayList的configParamsKeyValue类型作为参数传递给myConfig类,以便通过定义另一个类(如
)来读取第二个Yaml文件class configParamsKeyValueData {
@BeanProperty var name: String = null
@BeanProperty var value: String = null
@BeanProperty var data: String = null
}
有人可以帮忙吗