io.rouz.flo.context.ForwardingTaskContext Maven / Gradle / Ivy
package io.rouz.flo.context;
import java.util.Objects;
import io.rouz.flo.Fn;
import io.rouz.flo.Task;
import io.rouz.flo.TaskContext;
import io.rouz.flo.TaskId;
/**
* A {@link TaskContext} that forwards calls.
*/
public abstract class ForwardingTaskContext implements TaskContext {
protected final TaskContext delegate;
protected ForwardingTaskContext(TaskContext delegate) {
this.delegate = Objects.requireNonNull(delegate);
}
@Override
public Value evaluateInternal(Task task, TaskContext context) {
return delegate.evaluateInternal(task, context);
}
@Override
public Value invokeProcessFn(TaskId taskId, Fn> processFn) {
return delegate.invokeProcessFn(taskId, processFn);
}
@Override
public Value value(Fn value) {
return delegate.value(value);
}
@Override
public Value immediateValue(T value) {
return delegate.immediateValue(value);
}
@Override
public Promise promise() {
return delegate.promise();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy