use of com.haulmont.cuba.gui.Route in project cuba by cuba-platform.
the class WebUrlRouting method getParentPrefix.
protected String getParentPrefix(Screen screen) {
String parentPrefix = null;
Route routeAnnotation = screen.getClass().getAnnotation(Route.class);
if (routeAnnotation != null) {
parentPrefix = routeAnnotation.parentPrefix();
} else {
RouteDefinition routeDef = getScreenContext(screen).getWindowInfo().getRouteDefinition();
if (routeDef != null) {
parentPrefix = routeDef.getParentPrefix();
}
}
return parentPrefix;
}
use of com.haulmont.cuba.gui.Route in project cuba by cuba-platform.
the class UiControllerClassMeta method traverseForRoute.
@Nullable
protected Route traverseForRoute(Class screenClass) {
// noinspection unchecked
Class<? extends FrameOwner> superClass = screenClass.getSuperclass();
if (Screen.class.getName().equals(superClass.getName())) {
return null;
}
Route route = superClass.getAnnotation(Route.class);
return route != null ? route : traverseForRoute(superClass);
}
use of com.haulmont.cuba.gui.Route in project cuba by cuba-platform.
the class UiControllerClassMeta method getControllerRouteDefinition.
protected RouteDefinition getControllerRouteDefinition(Class<? extends FrameOwner> screenClass) {
Route route = screenClass.getAnnotation(Route.class);
if (route == null) {
route = traverseForRoute(screenClass);
}
RouteDefinition routeDefinition = null;
if (route != null) {
String pathAttr = route.path();
String parentPrefixAttr = route.parentPrefix();
boolean rootRoute = route.root();
routeDefinition = new RouteDefinition(pathAttr, parentPrefixAttr, rootRoute);
}
return routeDefinition;
}
Aggregations