package <%= package %>.ui;

import <%= package %>.base.BaseUIState;
import <%= package %>.base.BaseViewPresenter;

public class <%= name %>Presenter extends BaseViewPresenter {

    private <%= name %>ViewInterface viewInterface;
    private <%= name %>ViewState viewState;

    public <%= name %>Presenter() {
        super();
        //Send default values as params
        viewState = new <%= name %>ViewState(BaseUIState.PROCESS_STATE_LOADING);
        //make the required network call which updates the db and viewstate here.
    }

    public void attachView(<%= name %>ViewInterface viewInterface) {
        this.viewInterface = viewInterface;
        viewInterface.updateUI(viewState);
        //set db change listeners here.
    }


    public void detachView() {
        this.viewInterface = null;
        //deregister from db listeners
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }
}
