Package org.apache.wiki.tags

# Class BreadcrumbsTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
org.apache.wiki.tags.WikiTagBase
org.apache.wiki.tags.BreadcrumbsTag

All Implemented Interfaces:
  `jakarta.servlet.jsp.tagext.IterationTag`, `jakarta.servlet.jsp.tagext.JspTag`, `jakarta.servlet.jsp.tagext.Tag`, `jakarta.servlet.jsp.tagext.TryCatchFinally`, `Serializable`

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 final 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 jakarta.servlet.jsp.tagext.TagSupport

`id, pageContext`

### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

`EVAL_BODY_AGAIN`

### Fields inherited from interface jakarta.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.
`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(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 jakarta.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

### BREADCRUMBTRAIL_KEY

public static final String BREADCRUMBTRAIL_KEY
The name of the session attribute representing the breadcrumbtrail

See Also:
  - Constant Field Values

## Constructor Details

### BreadcrumbsTag

public BreadcrumbsTag()

## 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 String getSeparator()
Get the separator string.

Returns:
  The string set in setSeparator()

### setSeparator

public void setSeparator(String separator)
Set the separator string.

Parameters:
  `separator` - A string which separates the page names.

### doWikiStartTag

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

Specified by:
  `doWikiStartTag` in class `WikiTagBase`
Throws:
  `IOException`