Projects / Funcito


Funcito is a Java library which simplifies access to your favorite functional programming APIs by wrapping Java methods as the function-type objects defined in those libraries. Rather than creating another functional programming API, Funcito makes it easy to define function-type objects which wrap existing methods. As a result, your code has less noise and clutter of anonymous inner classes, annotations, etc. Your code remains safe for automated refactoring, since there are no String-based reflection or forced naming conventions. The supported frameworks are Google Guava, Jedi, Functional Java, Play! Framework 2, collections-generic, and Netflix RxJava.


Recent releases

  •  31 Oct 2013 17:58

    Release Notes: This release adds support for Command-like functors in supported APIs, i.e. side-effect inducing functors without return values. It also adds support for the Netflix RxJava framework API. Finally, it adds the concept of optional Modes, including the useful Safe-Navigation mode. Users are invited to write custom Modes. Other minor improvements are an upgrade to Java 1.7 Javadoc format, an upgrade of Objenesis from 1.2 to 2.1, an upgrade of Gradle build to 1.6, programmatic static access for setting preferred ProxyFactory, and a downgrade of the ProxyFactory initialization log message from warning to info.

    •  30 Oct 2012 17:25

      Release Notes: This release adds support for Play! Framework 2 and for collections-generic (a generified version of Jakarta commons-collections).

      •  25 Jul 2012 18:19

        Release Notes: Highlights include wrapping of method chains and methods with parameters. This release supports wrapping of chained method calls and wrapping of methods with parameters. Warning messages are logged to JUL, not System.err. Improved diagnostic messages in runtime exceptions. Internal classes have been renamed to prevent future collisions. The empty Objenesis directory has been removed from the jar. Microbenchmarks have been developed to track the impact of changes. Increased unit test coverage. Improved code examples for current APIs: funcito-src.jar.

        •  03 Apr 2012 15:08

          Release Notes: This release fixes a minor bug by removing a runtime dependency on Google Guava for users of FP libraries other than Google Guava (i.e., Functional Java or Jedi). It adds repository management support to build, so this project is now available in Maven Central as well for Maven users.


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.