Mostrando entradas con la etiqueta quaere. Mostrar todas las entradas
Mostrando entradas con la etiqueta quaere. Mostrar todas las entradas
domingo, 16 de septiembre de 2007
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV5ND7nJcW3d147qkrKr7M09ByVeNGOIVge1kPhhQYAThdgs0p1UJ4FSbeO10rYofBHL955IRkpiVgut8_UA5iigkG9RMjRyCvSyhaQl40m9EUiBTOMKF-kRUR1V7Bkb_d5KLuIg/s320/2007-09-13_quaere_logo.png)
Se trata de un DSL (Domain Specific Language, lenguaje específico de dominio) que permite integrar dentro de código Java sentencias muy parecidas a SQL para extraer información de arrays, colecciones y otros almacenes de información, de forma muy sencilla y potente. Gracias a la utilización de static imports y fluent interfaces, no es necesario usar preprocesadores o generadores de código intermedios, el código se compila directamente sobre javac importando las librerías de Quaere.
Y para que se entienda mejor el alcance del proyecto y cómo puede ayudarnos a desarrollar, unos ejemplos básicos tomados del blog del autor, que demuestran la potencia de esta extensión para gestión de datos:
// Obtiene los números menores de
// cinco del array:
Integer[] numbers =
{5, 4, 1, 3, 9, 8, 6, 7, 2, 0};
Iterable<integer> lowNums =
from("n").in(numbers).
where(lt("n", 5)).
select("n");
// Obtiene una colección
// de strings con los nombres de
// los productos:
List products =
Arrays.asList(Product.getAllProducts());
Iterable<String> productNames =
from("p").in(products).
select("p.getProductName()");