react
react copied to clipboard
Convert to Java 1.8 only.
-
Changes the Listener abstract classes into interfaces with default methods.
-
Isolates SignalView.Listener from ValueView.Listener and makes Slot into a functional interface that works for both.
-
Eliminates Functions because that can be done with lambdas more concisely than the Functions helpers.
-
Moves Slots statics into Slot since interfaces can have static methods now.
-
Eliminates UnitSlot as it's easy enough to have an ignored parameter in a lambda (and Java 9/10 will allow use of _ parameter). UnitSignal becomes Signal.Unit to reduce top-level namespace names.
-
Removes various methods/helpers that existed only to save boilerplate which is now better accomplished via lambdas and/or bound methods. RPromise.completer, for example, which can now be expressed as p::complete.
-
Moves Closeable.Util helpers into Closeable because we can have static members of interfaces now.