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:
PrintStream
, OutputStream
, Writer
, etc. when all you want is to pipe some strings around.Function<Node, List<Node>>
, create a Stream
for traversing this tree (breadth-first, depth-first, etc.).Suppliers
,
Predicates
,
and Functions
converted to Java 8,
and a new Consumers
class 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.
Suppliers
, Functions
, and Predicates
are all verbatim from Guava.StringPrinter.toOutputStream()
borrows heavily from WriterOutputStream
, inside Apache commons-io.DurianPlugins
is inspired by RxJava's plugin mechanism..ci
folder are inspired by Ben Limmer's work.