A great example of generating Java-sources in compile time. A case which is considered in this example: if you need to embed some data in your app. The data is gathered from some external source and needs to be parsed to be usable inside an app. In the end you’ll have a generated class, which will contain needed data. And this file will be re-generated during every compilation.