01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.wiki;
04:
05: import fitnesse.components.FitNesseTraversalListener;
06:
07: //TODO after extracting the WikiPageModel... rethink this class. Lots of these methods might be able to go back into WikiPAge.
08: public interface PageCrawler {
09: public WikiPage getPage(WikiPage context, WikiPagePath path)
10: throws Exception;
11:
12: public void setDeadEndStrategy(PageCrawlerDeadEndStrategy strategy);
13:
14: public boolean pageExists(WikiPage context, WikiPagePath path)
15: throws Exception;
16:
17: public WikiPagePath getFullPathOfChild(WikiPage parent,
18: WikiPagePath childPath) throws Exception;
19:
20: public WikiPagePath getFullPath(WikiPage page) throws Exception;
21:
22: public WikiPage addPage(WikiPage context, WikiPagePath path,
23: String content) throws Exception;
24:
25: public WikiPage addPage(WikiPage context, WikiPagePath path)
26: throws Exception;
27:
28: public String getRelativeName(WikiPage base, WikiPage page)
29: throws Exception;
30:
31: public boolean isRoot(WikiPage page) throws Exception;
32:
33: public WikiPage getRoot(WikiPage page) throws Exception;
34:
35: public void traverse(WikiPage root,
36: FitNesseTraversalListener pageCrawlerTest) throws Exception;
37: }
|