package org.openflexo.module;
import javax.inject.Singleton;
import org.openflexo.view.controller.FlexoController;
import org.openflexo.view.menu.FlexoMenuBar;
import com.google.inject.AbstractModule;
public abstract class FlexoModuleBindings extends AbstractModule {
public abstract String getModuleName();
public abstract <T extends FlexoController> Class<T> getFlexoControllerClass();
public abstract <T extends FlexoModule> Class<T> getFlexoModuleClass();
public abstract <T extends FlexoMenuBar> Class<T> getMenuBarClass();
@Override
protected void configure() {
bind(getFlexoModuleClass()).in(Singleton.class);
bind(getFlexoControllerClass()).in(Singleton.class);
bind(getMenuBarClass()).in(Singleton.class);
}
}