public class GenericParameter<T> {
String name;
T value;
//getters and setters...
Is it possible for YamlBeans to parse a file and provide anything but Strings? Right now I'm testing with
GenericParameter<Double> gpd = new GenericParameter<>();
gpd.setName("Double");
gpd.setValue(4.4);
GenericParameter<Integer> ipd = new GenericParameter<>();
ipd.setName("Integer");
ipd.setValue(2);
GenericParameter<Boolean> bpd = new GenericParameter<>();
bpd.setName("Boolean");
bpd.setValue(false);
YamlConfig yamlConfig=new YamlConfig();
yamlConfig.setClassTag("parameter", GenericParameter.class);
YamlWriter yamlWriter = new YamlWriter(new FileWriter("generic.yaml"),yamlConfig);
yamlWriter.write(list);
yamlWriter.close();
Which produces:
!java.util.Arrays$ArrayList
- !parameter
name: Double
value: 4.4
- !parameter
name: Integer
value: 2
- !parameter
name: Boolean
value: false
But if I read that back:
YamlReader reader = new YamlReader(new FileReader("generic.yaml"),yamlConfig);
ArrayList<GenericParameter> readback = reader.read(ArrayList.class);
reader.close();
readback.forEach(p->System.out.println(p.getValue().getClass()));
It reads everything as String
class java.lang.String
class java.lang.String
class java.lang.String
Is this something I'm doing wrong or not something Yaml can handle?