Un Paseo por las Transformaciones AST de GroovyPresentation Transcript
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 Libre ๏ Miembro del equipo ๏ Líder del proyecto ๏ Actualmente trabajando conwww.canoo.com 2
¿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
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 por cada elementowww.canoo.com 21
@IndexedPropertywww.canoo.com 22
Y muchas otras mas …๏ @AutoClone๏ @AutoExternalize๏ @ConditionalInterrupt @TimedInterrupt @ThreadInterrupt๏ @PackageScope๏ @WithReadLock @WithWriteLock๏ @Fieldwww.canoo.com 23