package lt.inventi.wicket.component.breadcrumb.hierarchy; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.apache.wicket.request.component.IRequestablePage; import lt.inventi.wicket.component.breadcrumb.Breadcrumb; import lt.inventi.wicket.component.breadcrumb.StatelessBreadcrumbTargetProvider; import lt.inventi.wicket.component.breadcrumb.collapse.DisplayedBreadcrumb; import lt.inventi.wicket.component.breadcrumb.collapse.SingleDisplayedBreadcrumb; class HomePageStaticBreadcrumbsHierarchy implements IBreadcrumbHierarchy { private final HierarchyNode homePageNode; HomePageStaticBreadcrumbsHierarchy(HierarchyNode homePageNode) { this.homePageNode = homePageNode; } @Override public List<DisplayedBreadcrumb> restoreMissingHierarchy(List<Breadcrumb> originalCrumbs) { Class<? extends IRequestablePage> homePage = homePageNode.getPageClass(); for (Breadcrumb crumb: originalCrumbs) { if (crumb.getType().equals(homePage)) { return Collections.emptyList(); } } StatelessBreadcrumbTargetProvider target = new StatelessBreadcrumbTargetProvider(homePage); return Arrays.<DisplayedBreadcrumb> asList(new SingleDisplayedBreadcrumb(homePageNode.getTitle(), target)); } }