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

io.rouz.task.EvalClosure Maven / Gradle / Ivy

package io.rouz.task;

import java.io.Serializable;

import io.rouz.task.TaskContext.Value;

/**
 * A function that evaluates some {@link Value} in a given {@link TaskContext}
 */
@FunctionalInterface
interface EvalClosure extends Serializable {

  /**
   * Produces a {@link Value} in a given {@link TaskContext}.
   *
   * The produced {@link Value} should follow the semantics defined by the used {@link TaskContext}.
   *
   * @param taskContext  The context to evaluate in
   * @return a value
   */
  Value eval(TaskContext taskContext);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy