package org.ovirt.engine.ui.webadmin.uicommon.model; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; import org.ovirt.engine.ui.webadmin.gin.ClientGinjector; /** * Default {@link MainModelProvider} implementation for use with tab controls. * * @param <T> * List model item type. * @param <M> * List model type. */ public class MainTabModelProvider<T, M extends SearchableListModel> extends SearchableTabModelProvider<T, M> implements MainModelProvider<T, M> { private final Class<M> mainModelClass; public MainTabModelProvider(ClientGinjector ginjector, Class<M> mainModelClass) { super(ginjector); this.mainModelClass = mainModelClass; } @Override public M getModel() { return UiCommonModelResolver.getMainListModel(getCommonModel(), mainModelClass); } @Override public void onMainTabSelected() { getCommonModel().setSelectedItem(getModel()); } }