001 /*******************************************************************************
002 * Copyright (c) 2005 Gabriel Handford.
003 * All rights reserved.
004 *
005 * Contributors:
006 * Gabriel Handford -
007 *******************************************************************************/
008 package net.sf.tacos.services;
009
010 import java.util.List;
011
012 /**
013 * This class describes a tapestry page.
014 *
015 * @author Gabriel Handford
016 */
017 public interface PageInfo {
018
019 /**
020 * Get the page description.
021 * @return The page description.
022 */
023 public String getDesc();
024
025 /**
026 * Get the unique page name.
027 * @return Page name
028 */
029 public String getName();
030
031 /**
032 * Get the permission associated with page, if any.
033 * @return Permission
034 */
035 public String getPermission();
036
037 /**
038 * Get the parent to this page.
039 * @return parent The parent.
040 */
041 public PageInfo getParent();
042
043 /**
044 * Set the parent.
045 * @param parent The parent.
046 */
047 public void setParent(PageInfo parent);
048
049 /**
050 * Adds the specified child node.
051 * @param child Child page
052 */
053 public void addChild(PageInfo child);
054
055 /**
056 * Get the children.
057 * @return Children
058 */
059 public List getChildrenNames();
060
061 /**
062 * Check if page should be included in navigation.
063 * @return Whether page should be included in navigation.
064 */
065 public boolean isNavigable();
066 }