com.softicar.platform.common.core.callback.CallbackBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-common Show documentation
Show all versions of platform-common Show documentation
The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.
package com.softicar.platform.common.core.callback;
import com.softicar.platform.common.core.interfaces.INullaryVoidFunction;
import java.util.ArrayList;
import java.util.List;
/**
* Composes a list of {@link INullaryVoidFunction} into a new
* {@link INullaryVoidFunction}.
*
* @author Alexander Schmidt
* @author Oliver Richers
*/
public class CallbackBuilder {
private final List callbacks = new ArrayList<>();
public CallbackBuilder add(INullaryVoidFunction callback) {
if (callback != null && !callbacks.contains(callback)) {
callbacks.add(callback);
}
return this;
}
public INullaryVoidFunction build() {
return () -> callbacks.forEach(callback -> callback.apply());
}
}