SnakeYAML - как вывести файл YAML с конкретными именами переменных - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть POJO, который выглядит следующим образом:

public class Foo {
    private String barA;
    private String barB;

    public void setBarA(String barA) {
        this.barA = barA;
    }

    public void setBarB(String barB) {
        this.barB = barB;
    }

    public String getBarA() {
        return barA;
    }

    public String getBarB() {
        return barB;
    }
}

Мой код для преобразования этого в YAML выглядит так:

Representer representer = new Representer();
representer.addClassTag(Foo.class, tag.MAP);
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(representer, options);
StringWriter writer = new StringWriter();
yaml.dump(foo, writer);

Вывод этого с использованием SnakeYAML выглядит следующим образом:

barA
barB

Однако в выводе я хочу, чтобы соглашение об именовании переменных выглядело следующим образом:

bar_a
bar_b

Как мне добиться этого с SnakeYAML?Я хочу уточнить, что я не хочу изменять соглашение об именовании моих переменных Java.Я полагаю, что это возможно, используя TypeDescription или какую-то сериализацию, но я не уверен, как именно это сделать.

...