Package org.pushingpixels.flamingo.api.bcb

# Class BreadcrumbBarModel<T>

java.lang.Object
org.pushingpixels.flamingo.api.bcb.BreadcrumbBarModel<T>

Type Parameters:
  `T` - Type of data associated with each breadcrumb bar item.

public class BreadcrumbBarModel<T> extends Object
Model for the breadcrumb bar component (`JBreadcrumbBar`).

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`isCumulative`
Indication whether the model is in cumulative mode.
`protected EventListenerList`
`listenerList`
Listener list.
`protected int`
`smallestCumulativeIndex`
Smallest index of path change since the last call to `setCumulative(boolean)` with `true`.

## Constructor Summary

Constructors
Constructor
Description
`BreadcrumbBarModel()`
Creates a new empty model.

## Method Summary

Modifier and Type
Method
Description
`void`
`addLast(BreadcrumbItem<T> item)`
Adds the specified item at the end of the path.
`void`
`addPathListener(BreadcrumbPathListener l)`
Adds the specified path listener to this model.
`protected void`
`firePathChanged(int indexOfFirstChange)`
Fires a `BreadcrumbPathEvent`.
`BreadcrumbItem<T>`
`getItem(int index)`
Returns the model item at the specified index.
`int`
`getItemCount()`
Returns the number of items in this model.
`List<BreadcrumbItem<T>>`
`getItems()`
Returns an unmodifiable list of the items in this model.
`int`
`indexOf(BreadcrumbItem<T> item)`
Returns the index of the specified item.
`void`
`removeLast()`
Removes the last item in this model.
`void`
`removePathListener(BreadcrumbPathListener l)`
Removes the specified path listener from this model.
`void`
`replace(List<BreadcrumbItem<T>> items)`
Replaces the current item list with the specified list.
`void`
`reset()`
Resets this model, removing all the items.
`void`
`setCumulative(boolean isCumulative)`
Starts or ends the cumulative mode.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### listenerList

protected EventListenerList listenerList
Listener list.

### isCumulative

protected boolean isCumulative
Indication whether the model is in cumulative mode.

See Also:
  - `setCumulative(boolean)`

### smallestCumulativeIndex

protected int smallestCumulativeIndex
Smallest index of path change since the last call to `setCumulative(boolean)` with `true`.

## Constructor Details

### BreadcrumbBarModel

public BreadcrumbBarModel()
Creates a new empty model.

## Method Details

### indexOf

public int indexOf(BreadcrumbItem<T> item)
Returns the index of the specified item.

Parameters:
  `item` - Item.
Returns:
  Index of the item if it is in the model or -1 if it is not.

### removeLast

public void removeLast()
Removes the last item in this model.

### reset

public void reset()
Resets this model, removing all the items.

### getItems

public List<BreadcrumbItem<T>> getItems()
Returns an unmodifiable list of the items in this model.

Returns:
  Unmodifiable list of the items in this model.

### getItemCount

public int getItemCount()
Returns the number of items in this model.

Returns:
  Number of items in this model.

### getItem

public BreadcrumbItem<T> getItem(int index)
Returns the model item at the specified index.

Parameters:
  `index` - Item index.
Returns:
  The model item at the specified index. Will return `null` if the index is negative or larger than the number of items.

### replace

public void replace(List<BreadcrumbItem<T>> items)
Replaces the current item list with the specified list.

Parameters:
  `items` - New contents of the model.

### addLast

public void addLast(BreadcrumbItem<T> item)
Adds the specified item at the end of the path.

Parameters:
  `item` - Item to add.

### setCumulative

public void setCumulative(boolean isCumulative)
Starts or ends the cumulative mode. In cumulative mode calls to `addLast(BreadcrumbItem)`, `removeLast()`, `replace(List)` and `reset()` will not fire events on the listeners registered with `addPathListener(BreadcrumbPathListener)`.

Parameters:
  `isCumulative` - If `true`, the model enters cumulative mode. If `false`, the model exist cumulative mode and fires a path event on all registered listeners with the smallest index of all changes that have happened since the last time this method was called with `true`.

### addPathListener

public void addPathListener(BreadcrumbPathListener l)
Adds the specified path listener to this model.

Parameters:
  `l` - Path listener to add.

### removePathListener

public void removePathListener(BreadcrumbPathListener l)
Removes the specified path listener from this model.

Parameters:
  `l` - Path listener to remove.

### firePathChanged

protected void firePathChanged(int indexOfFirstChange)
Fires a `BreadcrumbPathEvent`.

Parameters:
  `indexOfFirstChange` - Index of the first item that has changed in the model.