# Class WebHistory

java.lang.Object
javafx.scene.web.WebHistory

public final class WebHistory extends Object
The `WebHistory` class represents a session history associated with a `WebEngine` instance. A single instance of `WebHistory` for a particular web engine can be obtained through the `WebEngine.getHistory()` method. The history is basically a list of entries. Each entry represents a visited page and it provides access to relevant page info, such as URL, title, and the date the page was last visited. Entries in the list are arranged in the order in which the corresponding pages were visited from oldest to newest. The list can be obtained by using the `getEntries()` method. The history and the corresponding list of entries change as `WebEngine` navigates across the web. The list may expand or shrink depending on browser actions. These changes can be listened to by the `ObservableList` API that the list exposes. The index of the history entry associated with the currently visited page is represented by the `currentIndexProperty()`. The current index can be used to navigate to any entry in the history by using the `go(int)` method. The `maxSizeProperty()` sets the maximum history size, which is the size of the history list.

Since:
  JavaFX 2.2

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `final class`
  `WebHistory.Entry`
  The `Entry` class represents a single entry in the session history.

- ## Property Summary

  Properties
  Type
  Property
  Description
  `ReadOnlyIntegerProperty`
  `currentIndex`
  Defines the index of the current `Entry` in the history.
  `IntegerProperty`
  `maxSize`
  Defines the maximum size of the history list.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ReadOnlyIntegerProperty`
  `currentIndexProperty()`
  Defines the index of the current `Entry` in the history.
  `int`
  `getCurrentIndex()`
  Gets the value of the `currentIndex` property.
  `ObservableList<WebHistory.Entry>`
  `getEntries()`
  Returns an unmodifiable observable list of all entries in the history.
  `int`
  `getMaxSize()`
  Gets the value of the `maxSize` property.
  `void`
  `go(int offset)`
  Navigates the web engine to the URL defined by the `Entry` object within the specified position relative to the current entry.
  `IntegerProperty`
  `maxSizeProperty()`
  Defines the maximum size of the history list.
  `void`
  `setMaxSize(int value)`
  Sets the value of the `maxSize` property.

  ### Methods declared in class java.lang.Object

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

- ## Property Details

  - ### currentIndex

    public ReadOnlyIntegerProperty currentIndexProperty
    Defines the index of the current `Entry` in the history. The current entry is the entry associated with the currently loaded page. The index belongs to the range of `(index >= 0 && index < getEntries().size())`.
    See Also:
      - `getCurrentIndex()`
      - `currentIndexProperty()`

  - ### maxSize

    public IntegerProperty maxSizeProperty
    Defines the maximum size of the history list. If the list reaches its maximum and a new entry is added, the first entry is removed from the history.

    The value specified for this property can not be negative, otherwise `IllegalArgumentException` is thrown.

    Default value:
      100
    See Also:
      - `getMaxSize()`
      - `setMaxSize(int)`
      - `maxSizeProperty()`

- ## Method Details

  - ### currentIndexProperty

    public ReadOnlyIntegerProperty currentIndexProperty()
    Defines the index of the current `Entry` in the history. The current entry is the entry associated with the currently loaded page. The index belongs to the range of `(index >= 0 && index < getEntries().size())`.
    Returns:
      the currentIndex property
    See Also:
      - `getCurrentIndex()`

  - ### getCurrentIndex

    public int getCurrentIndex()
    Gets the value of the `currentIndex` property.
    Property description:
      Defines the index of the current `Entry` in the history. The current entry is the entry associated with the currently loaded page. The index belongs to the range of `(index >= 0 && index < getEntries().size())`.
    Returns:
      the value of the `currentIndex` property
    See Also:
      - `currentIndexProperty()`

  - ### maxSizeProperty

    public IntegerProperty maxSizeProperty()
    Defines the maximum size of the history list. If the list reaches its maximum and a new entry is added, the first entry is removed from the history.

    The value specified for this property can not be negative, otherwise `IllegalArgumentException` is thrown.

    Default value:
      100
    Returns:
      the maxSize property
    See Also:
      - `getMaxSize()`
      - `setMaxSize(int)`

  - ### setMaxSize

    public void setMaxSize(int value)
    Sets the value of the `maxSize` property.
    Property description:
      Defines the maximum size of the history list. If the list reaches its maximum and a new entry is added, the first entry is removed from the history.

      The value specified for this property can not be negative, otherwise `IllegalArgumentException` is thrown.

    Default value:
      100
    Parameters:
      `value` - the value for the `maxSize` property
    See Also:
      - `getMaxSize()`
      - `maxSizeProperty()`

  - ### getMaxSize

    public int getMaxSize()
    Gets the value of the `maxSize` property.
    Property description:
      Defines the maximum size of the history list. If the list reaches its maximum and a new entry is added, the first entry is removed from the history.

      The value specified for this property can not be negative, otherwise `IllegalArgumentException` is thrown.

    Default value:
      100
    Returns:
      the value of the `maxSize` property
    See Also:
      - `setMaxSize(int)`
      - `maxSizeProperty()`

  - ### getEntries

    public ObservableList<WebHistory.Entry> getEntries()
    Returns an unmodifiable observable list of all entries in the history.
    Returns:
      list of all history entries

  - ### go

    public void go(int offset) throws IndexOutOfBoundsException
    Navigates the web engine to the URL defined by the `Entry` object within the specified position relative to the current entry. A negative `offset` value specifies the position preceding to the current entry, and a positive `offset` value specifies the position following the current entry. For example, -1 points to the previous entry, and 1 points to the next entry, corresponding to pressing a web browser's 'back' and 'forward' buttons, respectively. The zero `offset` value is silently ignored (no-op). The effective entry position should belong to the rage of [0..size-1]. Otherwise, `IndexOutOfBoundsException` is thrown.
    Parameters:
      `offset` - a negative value specifies a position preceding the current entry, a positive value specifies a position following the current entry, zero value causes no effect
    Throws:
      `IndexOutOfBoundsException` - if the effective entry position is out of range