Google's guava project is a solid utility library providing many useful interfaces and utilities, and it is a very commonly added dependency for most projects. Unfortunately, they have a strong NIH syndrome and are somewhat half-pregnant when it comes to functional-programming. This library attempts round out some of the deficiencies that a functional programmer finds when using Guava.
In particular it provides Option and Either types similar to the Scala library as well as a Pair.
There also additional helper classes for common Function and Supplier operations.
Issues are tracked in the fugue project on bitbucket
Add the Atlassian public repository
<repositories> ... <repository> <id>atlassian-public</id> <url>https://maven.atlassian.com/content/groups/public/</url> </repository> ... </repositories>
And then add fugue as a dependency to your pom.xml
<dependencies> ... <dependency> <groupId>com.atlassian.fugue</groupId> <artifactId>fugue</artifactId> <version>1.2.0</version> </dependency> ... </dependencies>