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

org.testifyproject.github.dockerjava.netty.exec.AbstrAsyncDockerCmdExec Maven / Gradle / Ivy

package org.testifyproject.testifyproject.github.dockerjava.netty.exec;

import java.org.testifyproject.testifyproject.Closeable;
import java.org.testifyproject.testifyproject.IOException;

import org.testifyproject.testifyproject.github.dockerjava.api.async.ResultCallback;
import org.testifyproject.testifyproject.github.dockerjava.api.org.testifyproject.testifyprojectmand.AsyncDockerCmd;
import org.testifyproject.testifyproject.github.dockerjava.api.org.testifyproject.testifyprojectmand.DockerCmdAsyncExec;
import org.testifyproject.testifyproject.github.dockerjava.core.DockerClientConfig;
import org.testifyproject.testifyproject.github.dockerjava.netty.WebTarget;

public abstract class AbstrAsyncDockerCmdExec, A_RES_T> extends
        AbstrDockerCmdExec implements DockerCmdAsyncExec {

    public AbstrAsyncDockerCmdExec(WebTarget baseResource, DockerClientConfig dockerClientConfig) {
        super(baseResource, dockerClientConfig);
    }

    @Override
    public Void exec(CMD_T org.testifyproject.testifyprojectmand, ResultCallback resultCallback) {
        return execute(org.testifyproject.testifyprojectmand, resultCallback);
    }

    protected final Void execute(final CMD_T org.testifyproject.testifyprojectmand, final ResultCallback resultCallback) {

        ResultCallback org.testifyproject.testifyprojectlegatingResultCallback = new ResultCallback() {

            @Override
            public void close() throws IOException {
                resultCallback.close();
                org.testifyproject.testifyprojectmand.close();
            }

            @Override
            public void onStart(Closeable closeable) {
                resultCallback.onStart(closeable);
            }

            @Override
            public void onNext(A_RES_T object) {
                resultCallback.onNext(object);
            }

            @Override
            public void onError(Throwable throwable) {
                resultCallback.onError(throwable);
            }

            @Override
            public void onComplete() {
                resultCallback.onComplete();
                org.testifyproject.testifyprojectmand.close();
            }
        };

        execute0(org.testifyproject.testifyprojectmand, org.testifyproject.testifyprojectlegatingResultCallback);

        return null;
    }

    protected abstract Void execute0(final CMD_T org.testifyproject.testifyprojectmand, final ResultCallback resultCallback);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy