# Class FilteredItemsSelectionDialog.SelectionHistory

java.lang.Object
org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory

Enclosing class:
  `FilteredItemsSelectionDialog`

protected abstract static class FilteredItemsSelectionDialog.SelectionHistory extends Object
History stores a list of key, object pairs. The list is bounded at a certain size. If the list exceeds this size the oldest element is removed from the list. An element can be added/renewed with a call to `accessed(Object)`.

The history can be stored to/loaded from an XML file.

Since:
  3.3

## Constructor Summary

Constructors
Constructor
Description
`SelectionHistory()`
Creates new instance of `SelectionHistory`.

## Method Summary

Modifier and Type
Method
Description
`void`
`accessed(Object object)`
Adds object to history.
`boolean`
`contains(Object object)`
Returns `true` if history contains object.
`Object[]`
`getHistoryItems()`
Gets array of history items.
`boolean`
`isEmpty()`
Returns `true` if history is empty.
`void`
`load(IMemento memento)`
Load history elements from memento.
`boolean`
`remove(Object element)`
Remove element from history.
`protected abstract Object`
`restoreItemFromMemento(IMemento memento)`
Creates an object using given memento.
`void`
`save(IMemento memento)`
Save history elements to memento.
`protected abstract void`
`storeItemToMemento(Object item, IMemento memento)`
Store object in `IMemento`.

### Methods inherited from class Object

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

## Constructor Details

### SelectionHistory

public SelectionHistory()
Creates new instance of `SelectionHistory`.

## Method Details

### accessed

public void accessed(Object object)
Adds object to history.

Parameters:
  `object` - the item to be added to the history

### contains

public boolean contains(Object object)
Returns `true` if history contains object.

Parameters:
  `object` - the item for which check will be executed
Returns:
  `true` if history contains object `false` in other way

### isEmpty

public boolean isEmpty()
Returns `true` if history is empty.

Returns:
  `true` if history is empty

### remove

public boolean remove(Object element)
Remove element from history.

Parameters:
  `element` - to remove form the history
Returns:
  `true` if this list contained the specified element

### load

public void load(IMemento memento)
Load history elements from memento.

Parameters:
  `memento` - memento from which the history will be retrieved

### save

public void save(IMemento memento)
Save history elements to memento.

Parameters:
  `memento` - memento to which the history will be added

### getHistoryItems

public Object[] getHistoryItems()
Gets array of history items.

Returns:
  array of history elements

### restoreItemFromMemento

protected abstract Object restoreItemFromMemento(IMemento memento)
Creates an object using given memento.

Parameters:
  `memento` - memento used for creating new object
Returns:
  the restored object

### storeItemToMemento

protected abstract void storeItemToMemento(Object item, IMemento memento)
Store object in `IMemento`.

Parameters:
  `item` - the item to store
  `memento` - the memento to store to