Java 如何在snakeyaml中使用静态方法构造?

Java 如何在snakeyaml中使用静态方法构造?,java,yaml,snakeyaml,Java,Yaml,Snakeyaml,我有一个带有私有构造函数的类和一个返回实例的静态方法,如下所示: public class OptionsBean { public static final OPTION1 = new OptionsBean(0, "COLOR"); public static final OPTION2 = new OptionsBean(1, "SIZE"); private OptionsBean(int id, String name) { ... } public

我有一个带有私有构造函数的类和一个返回实例的静态方法,如下所示:

public class OptionsBean {
    public static final OPTION1 = new OptionsBean(0, "COLOR");
    public static final OPTION2 = new OptionsBean(1, "SIZE");

    private OptionsBean(int id, String name) { ... }

    public static OptionsBean valueOf(String name) {
        if (name.equals("COLOR")) {
            return OPTION1;
        } else {
            return OPTION2;
        }
    }
}
根类的外观如下所示:

public class Root {
    ...
    public OptionsBean getOptions() { ... }
    public void setOptions(OptionsBean value} { ... }
    ...
}
name: Colored Box
options: COLOR
height: 100
width: 100
我希望我的YAML看起来像这样:

public class Root {
    ...
    public OptionsBean getOptions() { ... }
    public void setOptions(OptionsBean value} { ... }
    ...
}
name: Colored Box
options: COLOR
height: 100
width: 100

我知道我可以使用标签来获得我想要的东西,但我不想使用显式标签。

我似乎已经解决了自己的问题,尽管我不知道它有多“正确”:

私有静态类MyConstructor扩展构造函数{
公共MyConstructor(类