Apache Commons Functor

Clone this repo:
  1. 614b5bf Bump compiler source and target from 1.5 to 1.8 by Gary Gregory · 8 days ago master
  2. 2798f03 Bump commons-parent from 53 to 58 by Gary Gregory · 8 days ago
  3. 48614cc Grammar by Gary Gregory · 9 days ago
  4. c12e0dd Javadoc typos by Gary Gregory · 2 weeks ago
  5. 656bc0e Format: "catch(" -> "catch (" by Gary Gregory · 6 weeks ago

Apache Commons Functor

Travis-CI Status GitHub Actions Status Coverage Status Maven Central Javadocs

A “functor” is an entity that serves the role of a function but can be operated upon like an object. The Apache Commons Functor library defines common functor and functor-related interfaces, implementations, and utilities.


More information can be found on the Apache Commons Functor homepage. The Javadoc can be browsed. Questions related to the usage of Apache Commons Functor should be posted to the user mailing list.

Where can I get the latest release?

You can download source and binaries from our download page.

Alternatively, you can pull it from the central Maven repositories:



We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:

  • No tabs! Please use spaces for indentation.
  • Respect the code style.
  • Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
  • Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running mvn clean test.

If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.


This code is under the Apache Licence v2.

See the NOTICE.txt file for required notices and attributions.


You like Apache Commons Functor? Then donate back to the ASF to support the development.

Additional Resources