// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesse.wiki; import fitnesse.components.TraversalListener; public interface PageCrawler { WikiPage getPage(WikiPagePath path); WikiPage getPage(WikiPagePath path, PageCrawlerDeadEndStrategy deadEndStrategy); boolean pageExists(WikiPagePath path); WikiPagePath getFullPathOfChild(WikiPagePath childPath); WikiPagePath getFullPath(); String getRelativeName(WikiPage page); WikiPage getRoot(); void traverse(TraversalListener<? super WikiPage> callback); void traversePageAndAncestors(TraversalListener<? super WikiPage> callback); void traverseUncles(String uncleName, TraversalListener<? super WikiPage> callback); WikiPage getSiblingPage(WikiPagePath pathRelativeToSibling); WikiPage findAncestorWithName(String name); WikiPage getClosestInheritedPage(String pageName); }