// 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 java.io.Serializable;
import java.util.Collection;
import java.util.List;

import fitnesse.wikitext.parser.ParsedPage;

public interface WikiPage extends Serializable, Comparable<Object> {
  WikiPage getParent();

  boolean isRoot();

  WikiPage addChildPage(String name);

  boolean hasChildPage(String name);

  WikiPage getChildPage(String name);

  void removeChildPage(String name);

  List<WikiPage> getChildren();

  String getName();

  PageData getData();

  Collection<VersionInfo> getVersions();

  WikiPage getVersion(String versionName);

  String getHtml();

  VersionInfo commit(PageData data);

  PageCrawler getPageCrawler();

  String getVariable(String name);
}




@@ -565,189 +565,512 @@
 %0A%0A  
-List%3CWikiPage%3E getChildren();%0A%0A  String getName();%0A%0A  PageData getData();%0A%0A  Collection%3CVersionInfo%3E getVersions();%0A%0A  WikiPage getVersion(String versionName);%0A%0A  String getHtml();%0A
+/**%0A   * Get child pages for this wiki page%0A   * @return children, an empty list if there are none.%0A   */%0A  List%3CWikiPage%3E getChildren();%0A%0A  String getName();%0A%0A  PageData getData();%0A%0A  /**%0A   * Get a list/set of version info%0A   * @return a collection, never null.%0A   */%0A  Collection%3CVersionInfo%3E getVersions();%0A%0A  WikiPage getVersion(String versionName);%0A%0A  String getHtml();%0A%0A  /**%0A   * Commit new content%0A   * @param data%0A   * @return version information about this new data version, may be null.%0A   */
 %0A  V

Document WikiPage interface somewhat