Blog

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anders Norås elkészítette-elindította a Microsoft LINQ nevű ötletének első Java implementációját, a Quaere projektet. A projekt lényege, hogy SQL szerű lekérdezéseket tudunk intézni a Java osztályokba ágyazva, így lehetőségünk van tömbökből vagy halmazokból elemeket lekérdezni, amelyek megfelelnek a szűkítésnek. Például az ötnél kisebb számokat az alábbi programrészlet válogatja ki egy külön listába:

Code Block
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");

Természetesen kissé nehézkes lehet a kérdező "nyelv" megtanulása, talán még lassabb is, mint megírni közvetlenül a programot, de mégis rugalmasabb lehet összetett lekérdezéseket tekintve. A Quaere egy sajátos Expression Language használatával képes egy struktúrából leválogatni a neki kellő adatokat:

Code Block
List<Product> products = Arrays.asList(Product.getAllProducts());
Iterable<String> productNames =
  from("p").in(products).
  select("p.getProductName()");