Un paseo por lastransformaciones     AST de     Groovy
¿Y quién es éste tío? ๏  Desarrollador        desde el inicio (1995 y contando …) ๏  Creyente fiel del Código Abierto y Li...
¿Qué son las transformaciones de AST?๏  Básicamente se definen como manipulación de código byte en tiempo de   compilación...
Disponibles en Groovy 1.7www.canoo.com
@Delegatewww.canoo.com   5
@Singletonwww.canoo.com   6
@Immutablewww.canoo.com   7
@Categorywww.canoo.com   8
@Mixinwww.canoo.com   9
@Grabwww.canoo.com   10
@Synchronizedwww.canoo.com   11
@Lazywww.canoo.com   12
@Newifywww.canoo.com   13
@Bindable (Vetoable)www.canoo.com          14
Disponibles en Groovy 1.8www.canoo.com
@Log (@Commons @Log4j @Slf4j)www.canoo.com                   16
@InheritConstructorswww.canoo.com          17
@ToStringwww.canoo.com   18
@EqualsAndHashCodewww.canoo.com        19
@TupleConstructorwww.canoo.com       20
@Canonical๏  Mezcla @ToString, @EqualsAndHashCode y @TupleConstructor en un solo   punto๏  Permite configuración puntual p...
@IndexedPropertywww.canoo.com      22
Y muchas otras mas …๏  @AutoClone๏  @AutoExternalize๏  @ConditionalInterrupt @TimedInterrupt @ThreadInterrupt๏  @PackageSc...
Disponibles en otros proyectos๏  .     ‣  @Entity๏  .     ‣  @EventPublisher     ‣  @Listener     ‣  @Entity     ‣  @Scaff...
Share-A-Canooiehttp://people.canoo.com/share
Gracias!twitter: @aalmiray
Upcoming SlideShare
Loading in …5
×

Un Paseo por las Transformaciones AST de Groovy

2,032 views

Published on

Published in: Technology
  • Be the first to comment

Un Paseo por las Transformaciones AST de Groovy

  1. 1. Un paseo por lastransformaciones AST de Groovy
  2. 2. ¿Y quién es éste tío? ๏  Desarrollador desde el inicio (1995 y contando …) ๏  Creyente fiel del Código Abierto y Libre ๏  Miembro del equipo ๏  Líder del proyecto ๏  Actualmente trabajando conwww.canoo.com 2
  3. 3. ¿Qué son las transformaciones de AST?๏  Básicamente se definen como manipulación de código byte en tiempo de compilación๏  Las transformaciones de AST permite metaprogramación a nivel del compilador๏  Existen dos tipos de transformaciones en el lenguage Groovy: globales y localeswww.canoo.com 3
  4. 4. Disponibles en Groovy 1.7www.canoo.com
  5. 5. @Delegatewww.canoo.com 5
  6. 6. @Singletonwww.canoo.com 6
  7. 7. @Immutablewww.canoo.com 7
  8. 8. @Categorywww.canoo.com 8
  9. 9. @Mixinwww.canoo.com 9
  10. 10. @Grabwww.canoo.com 10
  11. 11. @Synchronizedwww.canoo.com 11
  12. 12. @Lazywww.canoo.com 12
  13. 13. @Newifywww.canoo.com 13
  14. 14. @Bindable (Vetoable)www.canoo.com 14
  15. 15. Disponibles en Groovy 1.8www.canoo.com
  16. 16. @Log (@Commons @Log4j @Slf4j)www.canoo.com 16
  17. 17. @InheritConstructorswww.canoo.com 17
  18. 18. @ToStringwww.canoo.com 18
  19. 19. @EqualsAndHashCodewww.canoo.com 19
  20. 20. @TupleConstructorwww.canoo.com 20
  21. 21. @Canonical๏  Mezcla @ToString, @EqualsAndHashCode y @TupleConstructor en un solo punto๏  Permite configuración puntual por cada elementowww.canoo.com 21
  22. 22. @IndexedPropertywww.canoo.com 22
  23. 23. Y muchas otras mas …๏  @AutoClone๏  @AutoExternalize๏  @ConditionalInterrupt @TimedInterrupt @ThreadInterrupt๏  @PackageScope๏  @WithReadLock @WithWriteLock๏  @Fieldwww.canoo.com 23
  24. 24. Disponibles en otros proyectos๏  . ‣  @Entity๏  . ‣  @EventPublisher ‣  @Listener ‣  @Entity ‣  @Scaffold๏  Modules ‣  @Scalify ‣  @Bytecode๏  Groovy++ ‣  @Typedwww.canoo.com 24
  25. 25. Share-A-Canooiehttp://people.canoo.com/share
  26. 26. Gracias!twitter: @aalmiray

×