Qt Jenny: Java Code Generator

Qt Jenny translates Java APIs to Qt C++ wrappers, allowing Qt C++ programs to invoke Java functionality. This is particularly useful on a platform with Java system APIs, like Android.

Features

Qt Jenny's features:

  • Generation of wrappers for any Java class.
  • Templated generation with customizable templates that can be changed to customize the C++ output.
  • Configurable generation that allows controlling the namespace of the generated wrappers.
  • Support for generating code that uses QJniObject in the generated code, therefore utilizing all the convenience QJniObject brings.

How Qt Jenny works

Qt Jenny translates Java APIs to Qt C++ wrappers by the use of the following building blocks:

  • Kotlin code that imports the classes to be wrapped.
  • Annotations in that code that tell which classes to wrap.
  • A code generator that reads the annotations and generates the wrapper code.

With these building blocks, the Qt project is then structured so that there's a separate Gradle project for generating the code that the Qt CMake project uses. The CMake project triggers the code generation at project configuration time (in other words, when you run CMake).

How it works

Reference

Licenses and Attributions

Qt Jenny potentially contains third-party modules under the following permissive licenses: