package com.constellio.app.ui.application;
import java.lang.reflect.InvocationTargetException;
import com.constellio.data.utils.ImpossibleRuntimeException;
import com.vaadin.navigator.Navigator;
import com.vaadin.ui.UI;
public class Navigation {
public CoreViews to() {
return to(CoreViews.class);
}
public <T extends CoreViews> T to(Class<T> navigatorClass) {
try {
return navigatorClass.getConstructor(Navigator.class).newInstance(UI.getCurrent().getNavigator());
} catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
throw new ImpossibleRuntimeException("The navigator does not provide a valid constructor");
}
}
}