pixel
pixel

Reputation: 26503

How to parse field name with dash in snakeyaml?

I have fragment of yaml file:

field-name: my/data

but I can't create pojo with method name setField-name

Is there any way to parse such yaml file?

Upvotes: 8

Views: 4056

Answers (1)

shyam
shyam

Reputation: 9368

You can pass a custom PropertyUtils to handle such cases

Constructor c = new Constructor(MyClass.class);
c.setPropertyUtils(new PropertyUtils() {
    @Override
    public Property getProperty(Class<? extends Object> type, String name) throws IntrospectionException {
      if ( name.indexOf('-') > -1 ) {
        name = toCameCase(name);
      }
      return super.getProperty(type, name);
    }
  });
Yaml yaml = new Yaml(c);
MyClass obj = (MyClass) yaml.load(input);

Upvotes: 11

Related Questions