jFluent - a new library that provides a fluent interface over Javacore packages

Discussion in 'Java' started by shinya, Apr 20, 2008.

  1. shinya

    shinya Guest

    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!
     
    shinya, Apr 20, 2008
    #1
    1. Advertising

  2. shinya

    Stefan Ram Guest

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

    shinya <> writes:
    >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="one * one makes two"
     
    Stefan Ram, Apr 21, 2008
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. C B
    Replies:
    0
    Views:
    3,521
  2. Rhino
    Replies:
    30
    Views:
    1,994
    Rhino
    Dec 12, 2004
  3. ken
    Replies:
    0
    Views:
    711
  4. Scott Parkerson
    Replies:
    3
    Views:
    215
    Zev Blut
    Jan 22, 2007
  5. Rahul Kumar

    Creating a "fluent" interface

    Rahul Kumar, Oct 2, 2010, in forum: Ruby
    Replies:
    0
    Views:
    308
    Rahul Kumar
    Oct 2, 2010
Loading...

Share This Page