Recursos de liberación de PipeLine lambda

No puede resolver todo solo con interfaces y expresiones lambda. Esto parece una tarea simple para una clase ordinaria que tiene un patrón como este:

public final class Stage<T,R> {
    static final Runnable NO_OP = () -> {};
    public static <I,O> Stage<I,O> create(Function<I,O> f) {
        return new Stage<>(f, NO_OP);
    }
    public static <I,O> Stage<I,O> create(Function<I,O> f, Runnable cleanup) {
        return new Stage<>(f, cleanup);
    }
    private final Function<T,R> actualAction;
    private final Runnable cleanup;

    private Stage(Function<T,R> f, Runnable r) {
        actualAction=f;
        cleanup=r;
    }

    public <P> Stage<T,P> nextStage(Function<R,P> nextStage) {
        return new Stage<>(actualAction.andThen(nextStage), cleanup);
    }
    public <P> Stage<T,P> nextStage(Function<R,P> nextStage, Runnable nextCleanup) {
        return new Stage<>(actualAction.andThen(nextStage),
            cleanup==NO_OP? nextCleanup: () -> { cleanup.run(); nextCleanup.run(); });
    }
    public R process(T t) {
        return actualAction.apply(t);
    }
    public Function<T, R> getActualAction() {
        return actualAction;
    }
    public void cleanup() {
        cleanup.run();
    }
    public Runnable getCleanup() {
        return cleanup;
    }
}

La Stageclase es simple e invariante, pero su comportamiento real está determinado por el FunctionyRunnable instancias que se pueden crear mediante la expresión lambda, si lo desea. Puede crear y encadenar, utilizando solo una función simple o proporcionando una función y una acción de limpieza. Obtendrá dos cadenas diferentes para las funciones y acciones de limpieza, por lo que puede ejecutarlas de forma independiente.

Respuesta 1

Estoy tratando de leer un archivo .java en un JTextArea y no importa qué método use para leer en el archivo, el formato nunca se conserva. El código real está bien, pero los comentarios siempre se confunden. ...

Enseño una introducción a la clase de programación en una escuela secundaria y estoy tratando de dar un proyecto de redes para mis alumnos. Estaba pensando que hacer que hicieran un juego tipo acorazado sería muy factible y ...

Hay un enlace sobre la forma de integrar AKKA y Spring. O mejor decir: "cómo usar los actores de Akka en el entorno primaveral". http://doc.akka.io/docs/akka-modules/1.3.1/modules/spring.html En realidad ...

¿Cuál es el equivalente de JVerb de IBM en Oracle, si quiero emplear el protocolo RoCE para RDMA a través de Ethernet? Editar: ¿Quizás, JXIO es mi mejor opción?