com.ecyrd.jspwiki.tags
Class BreadcrumbsTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by com.ecyrd.jspwiki.tags.WikiTagBase
          extended by com.ecyrd.jspwiki.tags.BreadcrumbsTag
All Implemented Interfaces:
Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.Tag

public class BreadcrumbsTag
extends WikiTagBase

Implement a "breadcrumb" (most recently visited) trail. This tag can be added to any view jsp page. Separate breadcrumb trails are not tracked across multiple browser windows.
The optional attributes are:

maxpages, the number of pages to store, 10 by default
separator, the separator string to use between pages, " | " by default

This class is implemented by storing a breadcrumb trail, which is a fixed size queue, into a session variable "breadCrumbTrail". This queue is displayed as a series of links separated by a separator character.

Author:
Ken Liu ken@kenliu.net
See Also:
Serialized Form

Nested Class Summary
static class BreadcrumbsTag.FixedQueue
          Extends the LinkedList class to provide a fixed-size queue implementation
 
Field Summary
 
Fields inherited from class com.ecyrd.jspwiki.tags.WikiTagBase
ATTR_CONTEXT, m_wikiContext
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
BreadcrumbsTag()
           
 
Method Summary
 int doWikiStartTag()
          This method is allowed to do pretty much whatever he wants.
 int getMaxpages()
           
 String getSeparator()
           
 void initTag()
          This method is called when the tag is encountered within a new request, but before the setXXX() methods are called.
 void setMaxpages(int maxpages)
           
 void setSeparator(String separator)
           
 
Methods inherited from class com.ecyrd.jspwiki.tags.WikiTagBase
doEndTag, doStartTag, setPageContext
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BreadcrumbsTag

public BreadcrumbsTag()
Method Detail

initTag

public void initTag()
Description copied from class: WikiTagBase
This method is called when the tag is encountered within a new request, but before the setXXX() methods are called. The default implementation does nothing.

Overrides:
initTag in class WikiTagBase

getMaxpages

public int getMaxpages()

setMaxpages

public void setMaxpages(int maxpages)

getSeparator

public String getSeparator()

setSeparator

public void setSeparator(String separator)

doWikiStartTag

public int doWikiStartTag()
                   throws IOException
Description copied from class: WikiTagBase
This method is allowed to do pretty much whatever he wants. We then catch all mistakes.

Specified by:
doWikiStartTag in class WikiTagBase
Throws:
IOException