Core Groovy Fundamentals

COURSE OUTLINE:

Description

Groovy is a dynamic scripting and programming language for the Java platform. It combines the dynamic features of modern scripting languages such as Ruby and Python with familiar Java syntax. To quote one of the Groovy developers, 'Groovy is what Java would have been if it had been created in the 21st century.'

This course will introduce you to the Groovy language. You will gain an understanding of how Groovy works and the Groovy language syntax. The combination of hands-on exercises and open discussion will help you quickly understand the benefits of Groovy.

Audience

Experienced developers who need to understand how and when to use Groovy in Java and J2EE applications

Prerequisites

Practical basic Java development experience

Learning Objectives

  • Write applications using Groovy
  • Groovy operations within the Java Virtual Machine
  • Incorporate existing Java classes and libraries within Groovy applications
  • Add new methods and member variables to existing Java or Groovy classes
  • Role of closures within Groovy
  • Groovy's simplified object configuration syntax
  • Override operators for Groovy or Java classes
  • Concept of Metaprogramming and how to leverage it to simplify application development
  • Explore Groovy's Regular Expression syntax for easily managing String processing

1. Language

  • Groovy
  • Groovy Concepts
  • Installing
  • Running Groovy Scripts

2. Basic Syntax and Scalar Variables

  • Syntax Rules
  • Numbers
  • Strings
  • Operators

3. Collections

  • Lists
  • Coding a Closure
  • Maps
  • Ranges

4. Flow Control

  • If Statements
  • Switch Statements
  • While Loops
  • For Loops
  • Exceptions

5. Classes

  • Member Variables
  • Methods
  • Operator Overloading
  • Automatic Constructor Generation
  • The Closure Groovy Class
  • Coding a Method That Expects a Closure

6. Advanced Classes and Closures

  • Closures
  • Operator Overloading
  • Metaprogramming
  • MetaClass
  • MetaProperty
  • MetaMethod
  • Method
  • Field
  • ExpandoMetaClass
  • Categories

7. Regular Expressions

  • Regular Expression Syntax
  • The =~ operator
  • The ==~ operator
  • Common Methods That Use Regular Expressions

8. Builders and Slurpers

  • NodeBuilder
  • MarkupBuilder
  • AntBuilder
  • Creating Custom Builders
  • Using the ConfigSlurper
  • Writing a Slurper