private PageLoader getPageLoader(PageId pageId) { // Looks for an ID separator int index = pageId.toString().indexOf('!'); if (index != -1) { // Removes the ID from the PageId in order to retrieves the correct // PageLoader from the map. pageId = new PageId(pageId.toString().substring(0, index)); } PageLoader loader = pageLoaders.get(pageId); if (loader == null) { Log.debug("PageManager: no loader for " + pageId); throw new Error("PageManager: no loader for " + pageId); } return loader; }
private boolean targetPageIsAlreadyActive() { return currentPage.getPageId().equals(targetPage); }
public void registerStatelessPlace(PageId pageId, final PageState place) { parsers.put(pageId.toString(), new PageStateParser() { @Override public PageState parse(String token) { return place; } }); } }
public void registerParser(PageId pageId, PageStateParser parser) { parsers.put(pageId.toString(), parser); Log.debug("PageSerializer: registered page serializer " + parser.toString() + " for pageId '" + pageId + "'"); }
@Override public void load(final PageId pageId, final PageState pageState, final AsyncCallback<Page> callback) { if (UserProfilePage.PAGE_ID.equals(pageId)) { callback.onSuccess(userProfilePageProvider.get()); } else { GWT.log("AppLoader received a request it didn't know how to handle: " + pageState.toString(), null); } } }
@Override public void handleEvent(NavigationEvent event) { trackPageView(event.getPlace().getPageId().toString()); } });
@Override public void onSuccess() { if (ReportsPage.PAGE_ID.equals(pageId)) { callback.onSuccess(reportsPage.get()); } else if (ReportDesignPage.PAGE_ID.equals(pageId)) { ReportDesignPage page = reportDesignPage.get(); page.navigate(pageState); callback.onSuccess(page); } else { GWT.log("ReportLoader received a request it didn't know how to handle: " + pageState.toString(), null); } } });
@Override public boolean navigate(PageState place) { return place instanceof DbPageState && place.getPageId().equals(PAGE_ID) && ((DbPageState) place).getDatabaseId() == db.getId(); }