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
  • Categories
  • Mixins
  • Traits
  • Module Extensions
  • Compile time metaprogramming with AST transformations

Learning Outcome

Attendees will learn the different options for runtime and compile time metaprogramming with Groovy.

Target Audience

Everyone

Prerequisites for Attendees

Familiarity with Groovy would be desired but not strictly required

schedule Submitted 1 month ago