Formation Langage Groovy

Introduction

  • Présentation de Groovy
  • Groovy vs Java
  • SDK Groovy
  • Compilation Groovy
  • Installer Groovy

Classe & POGOs

  • Groovy Beans
  • POJO vs POGO
  • Passer de Java à Groovy

Bases du langages

  • Types
  • Opérateurs
    • Redéfinition des opérateurs
  • Chaines de caractères
    • String
    • GString
    • Multiline String/Gstring
    • Slashy Strings
  • Collections
  • Closures
    • Définition
    • Passer une closure en paramètre d’une méthode
    • Assigner une closure à une variable
    • Ajouter des paramètres à une closure
    • La variable “it”
    • Utiliser une méthode d’instance comme une closure
    • Manipuler sur les collections/maps avec une closure
    • Les propriétés d’une closure
    • this, delegate, owner dans une closure

Travailler avec Groovy

  • Coercition de type avec Groovy
  • == en Groovy
  • Naviguer dans des objets sans craindre “null”
  • Opérateur Elvis
  • Manipuler des expressions régulières
  • Opérateur de propagation
  • Opérateur “as”
  • Les APIs utiles de Groovy
  • Intégrer Groovy dans du code Java

Métaprogrammation avec Groovy

  • Dynamique vs Statique
  • Le MOP (Meta Object Protocol) de Groovy
  • EMC (ExpandoMetaClass)
  • EMC & Hooks
  • Pattern Intercept-Cache-Invoke

Annotations Groovy

  • @Singleton, @Delegate, @Immutable, @PackageScope, @InheritConstructors, …
  • @Canonical, @TupleConstructor, @EqualsAndHashCode, @ToString
  • @TimedInterrupt, @ThreadInterrupt
  • @CompileStatic, @TypeChecked

Tests avec Groovy

  • GroovyTestCase
  • Groovy et JUnit 4
  • Tester du code Java en Groovy
  • Coercition de Map
  • Coercition de Closure
  • MockFor, StubFor