Guava has become indispensable for many Java developers. Because of its wide adoption, it must be conservative regarding its minimum requirements.
Durian complements Guava with some features which are too spiky for Guava, such as:
Writer, etc. when all you want is to pipe some strings around.
Function<Node, List<Node>>, create a
Streamfor traversing this tree (breadth-first, depth-first, etc.).
Functionsconverted to Java 8, and a new
Consumersclass to round it out.
Durian's only requirement is Java 8 or greater, no other libraries are needed (not even Guava).
Contributions are welcome, see the contributing guide for development info.
If you have a
Box, but you'd like to subscribe to changes in its value, you should look at
RxBox in DurianRx.
Predicatesare all verbatim from Guava.
StringPrinter.toOutputStream()borrows heavily from
WriterOutputStream, inside Apache commons-io.
DurianPluginsis inspired by RxJava's plugin mechanism.
.cifolder are inspired by Ben Limmer's work.