30 lines
973 B
Java
30 lines
973 B
Java
package nucleus.view;
|
|
|
|
import nucleus.factory.PresenterFactory;
|
|
import nucleus.factory.ReflectionPresenterFactory;
|
|
import nucleus.presenter.Presenter;
|
|
|
|
public interface ViewWithPresenter<P extends Presenter> {
|
|
|
|
/**
|
|
* Returns a current presenter factory.
|
|
*/
|
|
PresenterFactory<P> getPresenterFactory();
|
|
|
|
/**
|
|
* Sets a presenter factory.
|
|
* Call this method before onCreate/onFinishInflate to override default {@link ReflectionPresenterFactory} presenter factory.
|
|
* Use this method for presenter dependency injection.
|
|
*/
|
|
void setPresenterFactory(PresenterFactory<P> presenterFactory);
|
|
|
|
/**
|
|
* Returns a current attached presenter.
|
|
* This method is guaranteed to return a non-null value between
|
|
* onResume/onPause and onAttachedToWindow/onDetachedFromWindow calls
|
|
* if the presenter factory returns a non-null value.
|
|
*
|
|
* @return a currently attached presenter or null.
|
|
*/
|
|
P getPresenter();
|
|
}
|