PST allows to quickly generate Java Sourcecode from Protocol Buffer specifications by automating the process of boiler-plating, compilation and field definition via templates.
Generally, PST is an integral part of the Apache Wave build process, and not called directly. If you want to build it, you can run
but it'll usually will be built for your.
If you want to test PST directly, you'll need to build a standalone version with
which allows you check out the example via
java -jar build/libs/wave-pst-0.1.jar -d example -f example/example.proto example/example.st
which will result in example/com/example/Person.java being created from the Protobuf definition of the Person schema in example/example.proto.
The boilerplate code will be coming from example/example.st, which references example/broto.st, providing the per-field code definitions.
PST generates the corresponding java code using the following steps:
Apache Wave is using proto2 Protocol Buffers as documented in https://developers.google.com/protocol-buffers/docs/proto .. the task generateMessages in wave/build.gradle is responsible for combining String Templates as per http://www.stringtemplate.org/ to Java Classes.
A quick introduction to String Templates can be found under https://theantlrguy.atlassian.net/wiki/display/ST/Five+minute+Introduction