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

com.github.thorbenkuck.keller.mvp.ViewController Maven / Gradle / Ivy

The newest version!
package com.github.thorbenkuck.keller.mvp;

import com.github.thorbenkuck.keller.datatypes.interfaces.Factory;
import com.github.thorbenkuck.keller.sync.Awaiting;

import java.util.Map;
import java.util.Optional;
import java.util.function.Consumer;

public interface ViewController {

	static ViewController createViewController() {
		return new AsynchronousViewController(ThreadPoolCache.getExecutorService());
	}

	void setViewFactoryMap(final Map, Factory> factoryMap);

	void addFactory(final Class clazz, final Factory viewFactory);

	Awaiting openMainStage(final Class stageClass);

	Awaiting openSeparateStage(final Class stageClazz);

	 Optional getActiveSeparateStage(final Class stageClazz);

	Awaiting closeAll();

	Awaiting closeAllSeparateStages();

	Awaiting closeSeparateActiveStage(final Class stage);

	Awaiting closeSeparateActiveStage(final View stage);

	View getMainView();

	void setThreadExtractor(Consumer extractor);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy