private void validStateCheck() { if (isDirty() && !(updateInProgress)) { throw new NavigationStateException("The navigation state is inconsistent, call update() before accessing"); } }
/** * Updates the fragment in {@code navigationState} from the component parts of {@code navigationState} * * @see uk.q3c.krail.core.navigate.URIFragmentHandler#updateFragment(uk.q3c.krail.core.navigate.NavigationState) */ @Override public void updateFragment(NavigationState navigationState) { navigationState.setUpdateInProgress(true); navigationState.fragment(fragment(navigationState)); validateSegments(navigationState); navigationState.updated(); }
/** * Configures a {@link Binder} via the exposed methods. */ @Override protected void configure() { bindNavigator(); bindURIHandler(); bindNavigationRules(); bindViewChangeRule(); bindInvalidURIHandler(); }
private void validateSegments(NavigationState navigationState) { if (navigationState.getVirtualPage() == null) { String virtualPage = virtualPageFromSegments(navigationState.getPathSegments()); navigationState.virtualPage(virtualPage); } else if (navigationState.getPathSegments() .isEmpty()) { navigationState.pathSegments(segmentsFromVirtualPage(navigationState.getVirtualPage())); } }
/** * Returns the {@link SitemapNode} associated with {@code uri}, or null if none found * * @param uri * @return */ @Override public synchronized T nodeFor(String uri) { return uriMap.get(uriHandler.navigationState(uri) .getVirtualPage()); }
/** * Takes a URI fragment, checks for any redirects defined by the {@link Sitemap}, then calls * {@link #navigateTo(NavigationState)} to change the view * * @see Navigator#navigateTo(java.lang.String) */ @Override public void navigateTo(String fragment) { log.debug("Navigating to fragment: {}", fragment); // set up the navigation state NavigationState navigationState = uriHandler.navigationState(fragment); navigateTo(navigationState); }
@Override public List<String> getNavigationParams() { return currentNavigationState.getParameterList(); }
@Override public String toString() { return getFragment(); } }
@Override public void menuSelected(MenuItem selectedItem) { navigator.navigateTo(node); }
public String getVirtualPage() { validStateCheck(); return virtualPage; }
/** * Override this if you have provided your own {@link NavigationModule} * * @return new instance of ApplicationConfigurationModule */ protected AbstractModule navigationModule() { return new NavigationModule(); }
private void validateSegments(NavigationState navigationState) { if (navigationState.getVirtualPage() == null) { String virtualPage = virtualPageFromSegments(navigationState.getPathSegments()); navigationState.virtualPage(virtualPage); } else if (navigationState.getPathSegments() .isEmpty()) { navigationState.pathSegments(segmentsFromVirtualPage(navigationState.getVirtualPage())); } }
/** * Updates the fragment in {@code navigationState} from the component parts of {@code navigationState} * * @see uk.q3c.krail.core.navigate.URIFragmentHandler#updateFragment(uk.q3c.krail.core.navigate.NavigationState) */ @Override public void updateFragment(NavigationState navigationState) { navigationState.setUpdateInProgress(true); navigationState.fragment(fragment(navigationState)); validateSegments(navigationState); navigationState.updated(); }
/** * Configures a {@link Binder} via the exposed methods. */ @Override protected void configure() { bindNavigator(); bindURIHandler(); bindNavigationRules(); bindViewChangeRule(); bindInvalidURIHandler(); }
/** * Returns the {@link SitemapNode} associated with {@code uri}, or null if none found * * @param uri * @return */ @Override public synchronized T nodeFor(String uri) { return uriMap.get(uriHandler.navigationState(uri) .getVirtualPage()); }
private void validStateCheck() { if (isDirty() && !(updateInProgress)) { throw new NavigationStateException("The navigation state is inconsistent, call update() before accessing"); } }
@Override public List<String> getNavigationParams() { return currentNavigationState.getParameterList(); }
public String getFragment() { validStateCheck(); return fragment; }
/** * Override this if you have provided your own {@link NavigationModule} * * @return new instance of ApplicationConfigurationModule */ protected AbstractModule navigationModule() { return new NavigationModule(); }
public String getFragment() { validStateCheck(); return fragment; }