package com.khmelenko.lab.varis.util;
import com.khmelenko.lab.varis.mvp.MvpPresenter;
import java.util.HashMap;
/**
* Keeps the presenter so it can be fetched
*
* @author Dmytro Khmelenko (d.khmelenko@gmail.com)
*/
public final class PresenterKeeper<P extends MvpPresenter> {
private final HashMap<Class<?>, P> mKeeper;
public PresenterKeeper() {
mKeeper = new HashMap<>();
}
/**
* Put a presenter for keeping
*
* @param type Presenter type
* @param presenter Presenter instance
*/
public void put(Class<?> type, P presenter) {
mKeeper.put(type, presenter);
}
/**
* Fetches a presenter from keeper
*
* @param type Presenter type
* @return Fetched presenter instance or null
*/
public P get(Class<?> type) {
return mKeeper.remove(type);
}
}