<dependencies>
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-yaml</artifactId>
<version>1.6.0</version>
</dependency>
</dependencies>
import io.protostuff.Tag;
public class MyYamlConfig {
@Tag(1)
public String appName;
@Tag(2)
public int port;
@Tag(3)
public String databaseUrl;
}
import io.protostuff.StringSerializer;
public class Main {
public static void main(String[] args) throws Exception {
MyYamlConfig config = new MyYamlConfig();
StringSerializer<YamlConfig> yamlSerializer = new StringSerializer<>(MyYamlConfig.class);
yamlSerializer.mergeFrom(yamlContent.getBytes(), config);
System.out.println(config.appName);
System.out.println(config.port);
System.out.println(config.databaseUrl);
}
}
import io.protostuff.Tag;
import io.protostuff.runtime.RuntimeSchema;
import io.protostuff.yaml.Yaml;
public class Main {
public static void main(String[] args) throws Exception {
Yaml.Input myCustomTypeAdapter = new Yaml.Input() {
@Override
public Object read(RuntimeSchema<?> schema, String input) {
}
};
YamlIOUtil.registerReadInput(MyCustomType.class, myCustomTypeAdapter);
// ...
}
}