The QuaereLibrary -- a "LanguageIntegratedQueryProject" for the JavaLanguage. Anders Norås introduced the QuaereLibrary at the September 2007 JavaZone conference. It uses static methods and MethodChaining to define an internal DomainSpecificLanguage for querying collections (but not yet databases) in the JavaLanguage. It was inspired by MicrosoftCorporation's LINQ (LanguageIntegratedQueryProject) project. ---- For more information on the QuaereLibrary see: * Hosted at Codehaus: http://xircles.codehaus.org/projects/quaere * TheServerSide, ''"LINQ for Java: Quaere"'' at http://www.theserverside.com/news/thread.tss?thread_id=46887 * ''(Anders Norås' Blog entries are no longer available.)'' ---- As another option, consider the JoSql library, which enables you to run SQL syntax queries against collections of objects. * the JoSql library: http://josql.sourceforge.net/ ---- I don't know too much about LINQ. How do the HiberNate Criteria classes for building queries compare to LINQ? Is it closer to how you query and index XML node collections in XpathLanguage? ''It is similar, but with LINQ you can do queries even over transient (not persistent) objects. One of the advantages is that since the filtering is declarative, the compiler is free to do parallel optimization, while with a typical loop, stuff needs to be run sequentially an in the order specified by the developer.'' ----- I smell GreencoddsTenthRuleOfProgramming slowly worming it's way into existing tools and languages as collection-orientation finally gets attention again after its OOP-hype-caused sabbatical in the late 80's. Too bad I'll be near retirement when it reaches its peak again. --top ''Too bad? Sounds great! It means you'll have plenty of free time to devote to contributing to the field.'' ---- CategoryJava FebruaryZeroNine