====== Functions ======
===== Function with no Parameter and No Return Value =====
You can just use the ''Runnable'' interface as a way for a callback. ''Runnable'' also has the ''FunctionalInterface'' annotation and as such is a valid interface for a Java 8 function.
Interface:
void delete(int id, Runnable callback);
Caller:
delete(id, () -> {
// do some stuff like return data from a REST service
response.noContent().build();
});
Callee:
public void delete(int id, Runnable callback) {
getConnection(connection -> {
connection.delete(id, result -> {
if (result.success()) {
callback.run();
}
else {
throw result.cause();
}
});
});
{{tag> devel java}}