Class BreadcrumbsTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
org.apache.wiki.tags.WikiTagBase
org.apache.wiki.tags.BreadcrumbsTag
All Implemented Interfaces:
java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

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.

See Also:
Serialized Form
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  BreadcrumbsTag.FixedQueue
    Extends the LinkedList class to provide a fixed-size queue implementation
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String BREADCRUMBTRAIL_KEY
    The name of the session attribute representing the breadcrumbtrail

    Fields inherited from class org.apache.wiki.tags.WikiTagBase

    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

    Constructors
    Constructor Description
    BreadcrumbsTag()  
  • Method Summary

    Modifier and Type Method Description
    int doWikiStartTag()
    This method is allowed to do pretty much whatever he wants.
    int getMaxpages()
    Returns the maxpages.
    java.lang.String getSeparator()
    Get the separator string.
    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)
    Sets how many pages to show.
    void setSeparator​(java.lang.String separator)
    Set the separator string.

    Methods inherited from class org.apache.wiki.tags.WikiTagBase

    doCatch, doEndTag, doFinally, doStartTag, setId, setPageContext

    Methods inherited from class javax.servlet.jsp.tagext.TagSupport

    doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setParent, setValue

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • initTag

      public void initTag()
      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()
      Returns the maxpages. This may differ from what was set by setMaxpages().
      Returns:
      The current size of the pages.
    • setMaxpages

      public void setMaxpages​(int maxpages)
      Sets how many pages to show.
      Parameters:
      maxpages - The amount.
    • getSeparator

      public java.lang.String getSeparator()
      Get the separator string.
      Returns:
      The string set in setSeparator()
    • setSeparator

      public void setSeparator​(java.lang.String separator)
      Set the separator string.
      Parameters:
      separator - A string which separates the page names.
    • doWikiStartTag

      public int doWikiStartTag() throws java.io.IOException
      This method is allowed to do pretty much whatever he wants. We then catch all mistakes.
      Specified by:
      doWikiStartTag in class WikiTagBase
      Throws:
      java.io.IOException