Groovy Metaprogramming

Join Paul King, OCI's Groovy Project Lead, as he discusses Groovy's powerful and flexible metaprogramming capabilities.

This Groovy deep dive covers beginner and advanced metaprogramming with an emphasis on techniques of particular interest to Grails developers.

Upcoming Offerings

Classes Currently being scheduled. Contact Us to set up yours!


The course covers, in-depth, how Groovy’s dynamic dispatch mechanism works and how application and plugin code can participate with that dispatch mechanism to provide more simple application code. You'll also learn techniques that may be applied at compile time to enhance classes, including AST Transformations, automatically enhancing Grails artifacts with traits and more.


  • Introduction to Metaprogramming
  • Runtime Metaprogramming vs. Compile-Time Metaprogramming
  • ExpandoMetaClass
  • Runtime Extension Methods
  • AST Transformations
  • AST Macros
  • Traits
  • Enhancing Grails Artefacts
  • Debugging


We recommend students be familiar with the Groovy programming language to get the most out of this course. In-depth knowledge of Groovy is not required.

DURATION and Format

1 day (6 hours)

This course is delivered in-person by OCI Groovy Project Lead, Paul King, and can be conducted at your location or in our Midwest training lab (12140 Woodcrest Executive Drive; St. Louis, MO. 63141)

Maximize your training experience by adding these courses to your curriculum.

Professional Training for Modern Technology Teams

Flexible Technology Training

Keep your team on the cutting edge with our technology training offerings.

  • Courses are developed and led by practicing software engineers and subject matter experts.
  • All courses can be customized to meet your organization's unique needs.
  • Courses can be conducted at your location, online, or in our state-of-the-art training lab in St. Louis, Missouri.

Many of our courses are also offered to the public both online and at our Midwest training lab for your convenience.

Visit our training schedule to sign up for upcoming webinars, workshops, and classes, or conduct your next training program in our technology training lab.