All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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