Package org.apache.wiki.tags

## 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
`static class` `BreadcrumbsTag.FixedQueue` Extends the LinkedList class to provide a fixed-size queue implementation

### Field Summary

Fields
`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
`BreadcrumbsTag()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### BREADCRUMBTRAIL_KEY

    public static final java.lang.String BREADCRUMBTRAIL_KEY

The name of the session attribute representing the breadcrumbtrail

See Also:
  Constant Field Values

### Constructor Detail

#### BreadcrumbsTag

    public BreadcrumbsTag()

### Method Detail

#### 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`