package edu.ualberta.med.biobank;
import com.google.inject.AbstractModule;
import com.google.inject.Singleton;
import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;
import edu.ualberta.med.biobank.common.action.Dispatcher;
import edu.ualberta.med.biobank.forms.StudyEntryFormView;
import edu.ualberta.med.biobank.mvp.AppContext;
import edu.ualberta.med.biobank.mvp.PresenterModule;
import edu.ualberta.med.biobank.mvp.presenter.impl.ActivityStatusComboPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.AddressEntryPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.FormManagerPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.SiteEntryPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.SiteViewPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.SpecimenLinkPresenter;
import edu.ualberta.med.biobank.mvp.presenter.impl.StudyEntryPresenter;
import edu.ualberta.med.biobank.mvp.view.ActivityStatusComboView;
import edu.ualberta.med.biobank.mvp.view.AddressEntryView;
import edu.ualberta.med.biobank.mvp.view.FormManagerView;
import edu.ualberta.med.biobank.mvp.view.form.SiteEntryFormView;
import edu.ualberta.med.biobank.mvp.view.form.SiteViewFormView;
import edu.ualberta.med.biobank.mvp.view.form.SpecimenLinkView;
public class BiobankModule extends AbstractModule {
@Override
protected void configure() {
install(new PresenterModule());
bind(AppContext.class).to(BiobankAppContext.class).in(Singleton.class);
bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
bind(Dispatcher.class).to(BiobankDispatcher.class).in(Singleton.class);
bind(AddressEntryPresenter.View.class).to(AddressEntryView.class);
bind(SiteEntryPresenter.View.class).to(SiteEntryFormView.class);
bind(SiteViewPresenter.View.class).to(SiteViewFormView.class);
bind(ActivityStatusComboPresenter.View.class).to(
ActivityStatusComboView.class);
bind(StudyEntryPresenter.View.class).to(StudyEntryFormView.class);
bind(FormManagerPresenter.View.class).to(FormManagerView.class);
bind(SpecimenLinkPresenter.View.class).to(SpecimenLinkView.class);
}
}