Чтение yaml той же вложенной структуры с разными свойствами в scala

Я пытаюсь создать общую функцию для чтения файлов 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
}

Может какое-нибудь тело, пожалуйста, помогите


person bp89    schedule 16.10.2019    source источник
comment
Я не знаю Scala, но не могли бы вы просто сделать myConfig универсальным, взяв тип внутри ArrayList в качестве универсального параметра?   -  person flyx    schedule 17.10.2019
comment
вот чего я пытаюсь достичь, но не знаю, как это сделать в scala!   -  person bp89    schedule 17.10.2019