Apache Groovy's Metaprogramming Options and You
Apache Groovy provides several ways to modify and update programs and classes by means of metaprogramming. Some of this options are available at runtime, some others at compile time, and some are even reachable to other JVM languages. These options allow library and framework authors to design better integrations, prototype new language constructs without grammar changes, deliver powerful and and gratifying DSLs, and more. Come to this talk to discover these options and learn how you can put them to work on your projects.
Outline/Structure of the Standard
The following topics will be presented:
- Runtime metaprogramming with GroovyObject
- Module Extensions
- Compile time metaprogramming with AST transformations
Attendees will learn the different options for runtime and compile time metaprogramming with Groovy.
Prerequisites for Attendees
Familiarity with Groovy would be desired but not strictly required