Groovy es un lenguaje de programación dinámico pensado para ejecutarse sobre la JVM (máquina virtual de java). Se puede considerar como un lenguaje de scripting con caractreristicas similares a Ruby o Python.
Pueden descargar e instalar Groovy aquí.
Permitanme explicarme a través de un ejemplo:
package net.zonical.tareas; import java.util.List; import java.util.ArrayList; import java.util.Iterator; public class Tarea { private String nombre; private String notas; public Tarea() {} public Todo(String nombre, String notas) { this.nombre = nombre; this.notas = notas; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getNotas() { return notas; } public void setNote(String notas) { this.notas = notas; } public static void main(String[] args) { List tareas = new ArrayList(); tareas.add(new Tarea("Primera","Primer nueva tarea")); tareas.add(new Tarea("Segunda","Segunda tarea")); tareas.add(new Tarea("Tercera","Tarea final")); for(Iterator iter = tareas.iterator(); iter.hasNext();) { Tarea = (Tarea)iter.next(); System.out.println(tarea.getNombre() + " " + tarea.getNotas()); } } }
Esto es un pequeño POJO (se puede probar guardandolo como Tarea.groovy y ejecutando groovy Tarea.groovy) para manejar tareas, 47 líneas…
y si hiciera esto:
package net.zonical.tareas; public class Tarea { String nombre String notas } def tareas = [ new Tarea(nombre:"Primera", notas:"Primer nueva tarea"), new Tarea(nombre:"Segunda", notas:"Segunda tarea"), new Tarea(nombre:"Tercera", notas:"Tarea final") ] tareas.each { println "${it.nombre} ${it.notas}" }
Guardelo como Tareas.groovy y ejecutelo con groovy Tareas.groovy, mismo resultado… ¿no?
