Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / April 2008

Tip: Looking for answers? Try searching our database.

jFluent - a new library that provides a fluent interface over Java     core packages

Thread view: 
shinya - 20 Apr 2008 09:38 GMT
Hi folks!
I wrote a little library, just as an exercise to grasp techniques
around DSLs and fluent interfaces, that provides a fluent layer upon
java.util.List and java.lang.String(and StringBuilder).

The project can be reached here: http://code.google.com/p/jfluent/
Here's an example of what you can do with the library, in pure Java:

import static com.jfluent.builders.BuilderFacade.*;
import com.jfluent.base.*;

public class FluentSimpleTest {
 public static void main(String[] args) {
   string("o hai!")
     .append(" ")
     .append(
       list("i", "can", "has", "cheezburger", "plz", "?")
         .map(new Function<String, String>() {
           public String apply(String element) {
             return element + " ";
           }
         })
         .get())
     .append("\n")
     .append(
       list(range('A', 'Z'))
         .reverse()
         .filter(new Predicate<Character>() {
           public boolean apply(Character c) {
             return c > 'M';
           }
         })
         .join(","))
     .println(System.out);
 }
}

Output:

o hai! i can has cheezburger plz ?
Z,Y,X,W,V,U,T,S,R,Q,P,O,N

I don't know if it's a dream or a nightmare for you :) but i'd like to
hear any kind of opinions, critics, possible improvements, etc...
The library is in ALPHA stage, it lacks lots of documentation, but
your IDE should be enough since intellisense should guide you through.
Most methods are just wrapped on the java's ones.

Thanks for listening!
Stefan Ram - 21 Apr 2008 13:59 GMT
>around DSLs and fluent interfaces, that provides a fluent layer upon

 See also

http://stephan.reposita.org/archives/2007/10/17/creating-a-fluent-interface-for-
google-collections/


 When I first heard of »fluent interface«, I misunderstood the
 meaning of the term somewhat: I thought, it was about trying
 to make an expression or statement of a programming language
 to be a legible English language phrase or sentence, too.

 For example, IIRC Sun Microsystems, Inc. uses code like:

value.add( other );

 while with my own big number class, I use:

value.plus( other );

 which to me sounds more like a legible English phrase.

http://google.to/search?q=%22one+*+one+makes+two%22


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.