We at CELI are using lambdaj 2.0 in our production applications, both for the web GUI and for the batches. We are going to use it massively on new code and by refactoring old code too. We are very happy with it! A little code example. Before
for (Entry<String, String> param : params.entries()) {
if (!"graphPage".equals(param.getKey()) && !"type".equals(param.getKey())) {
if (sb == null) {
sb = new StringBuffer();
} else {
sb.append('&');
}
sb.append(param.getKey()).append('=').append(param.getValue());
}
}
I don't know if it is more readable or not (I think so, but probably it is just a matter of tastes) anyway it worths to notice that the same result can be achieved with a single line of code in order to underline how the lambdaj API have been designed to be used jointly:
We (Java team at Flemisch governement) are using LambdaJ for making the usage/construct of Hibernate Criteria type safe. This way our code will survive propertyname refactorings. (off course the select,index features are a very handy thing when you need something like that :-) )
I am using lambdaj for the server side code of a web application that integrates with eBay. Using lambdaj reduced the size and complexity of my code when I needed to summarize a lot of complex information. As a programmer that comes from a .NET background, I found that lambdaj was my best alternative for LINQ in Java.
Thanks you for your extension, it saved times to deal with massive loop through 4000 records. The performance of my application increase 70% and my clients are very happy.
We at CELI are using lambdaj 2.0 in our production applications, both for the web GUI and for the batches. We are going to use it massively on new code and by refactoring old code too. We are very happy with it! A little code example. Before
for (Entry<String, String> param : params.entries()) { if (!"graphPage".equals(param.getKey()) && !"type".equals(param.getKey())) { if (sb == null) { sb = new StringBuffer(); } else { sb.append('&'); } sb.append(param.getKey()).append('=').append(param.getValue()); } }Now
OrMatcher<String> toExclude = or(equalTo("type"), equalTo("graphPage")); List<Entry<String, String>> paramsList = select(params.entries(), not(having(on(Entry.class).getKey(), toExclude))); String graphLink = join(paramsList, "&");I don't know if it is more readable or not (I think so, but probably it is just a matter of tastes) anyway it worths to notice that the same result can be achieved with a single line of code in order to underline how the lambdaj API have been designed to be used jointly:
String graphLink = join(select(params.entries(), having(on(Entry.class).getKey(), not(or(equalTo("type"), equalTo("graphPage"))))), "&");I am using lambdaj in a big project at a major italian bank (SanPaolo? Intesa).
Thanks for your great work.
LambdaJ is incredibly slick. Play framework 1.1 will use it to help to reduce the gap between the Scala and the Java version.
Read more at http://www.playframework.org/documentation/1.1-trunk/lambdaj
Guillaume Bort
We (Java team at Flemisch governement) are using LambdaJ for making the usage/construct of Hibernate Criteria type safe. This way our code will survive propertyname refactorings. (off course the select,index features are a very handy thing when you need something like that :-) )
I am using lambdaj in a SDMX project.
I am using lambdaj for the server side code of a web application that integrates with eBay. Using lambdaj reduced the size and complexity of my code when I needed to summarize a lot of complex information. As a programmer that comes from a .NET background, I found that lambdaj was my best alternative for LINQ in Java.
Here is a comparison of 3 different ways of coding without "for" and "while" statements:
http://eric-mariacher.blogspot.com/2010/04/java-program-using-lambdaj.html
Thanks you for your extension, it saved times to deal with massive loop through 4000 records. The performance of my application increase 70% and my clients are very happy.