Je souhaite résoudre à nouveau un objet de configuration. par exemple si je définir cette config:Résoudre un objet de configuration scala
val conf = ConfigFactory.parseString(
"""
| foo = a
| bar = ${foo}1
| baz = ${foo}2
""".stripMargin).resolve()
Je vais obtenir ces valeurs:
conf.getString("bar") //res0: String = a1
conf.getString("baz") //res1: String = a2
donné l'objet conf
, ce que je veux est d'être en mesure de changer la valeur de foo
, et obtenir valeurs mises à jour pour bar
et baz
. Quelque chose comme:
val conf2 = conf
.withValue("foo", ConfigValueFactory.fromAnyRef("b"))
.resolve()
et obtenez:
conf2.getString("bar") //res0: String = b1
conf2.getString("baz") //res1: String = b2
mais l'exécution de ce code entraînera:
conf2.getString("foo") //res0: String = b
conf2.getString("bar") //res1: String = a1
conf2.getString("baz") //res2: String = a2
est-ce encore possible?
mon code est à un endroit où la configuration est déjà résolu, et je ne veux pas changer tout les autres endroits qui utilisent cet objet de configuration – lev
@lev Alors ce n'est pas possible, je crois! –