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 }