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

async.net.impl.DefaultASyncConsol Maven / Gradle / Ivy

package async.net.impl;

import java.io.IOException;
import java.util.concurrent.ExecutorService;

import async.net.ASyncConsol;
import async.net.ASyncType;
import async.net.callback.ExceptionCallback;
import async.net.callback.IOCallback;
import async.net.thread.ThreadHandler;

public class DefaultASyncConsol implements ASyncConsol {

	private ThreadHandler handler;

	public DefaultASyncConsol(ThreadHandler handler) {
		this.handler = handler;
	}

	@Override
	public void start(IOCallback callback) {
		start(callback, null);
	}

	@Override
	public void start(final IOCallback callback, final ExceptionCallback eCallback) {
		ExecutorService ex = handler.getExecutorService(ASyncType.CONSOL_LISTEN);
		ex.execute(new Runnable() {

			@Override
			public void run() {
				try {
					callback.call(System.in, System.out);
				} catch (IOException e) {
					if (eCallback != null) {
						eCallback.exception(e);
					}
				}
			}
		});
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy