WebHistory (JavaFX 17)

Module javafx.web
Package javafx.scene.web

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

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

  - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ReadOnlyIntegerProperty` | `currentIndexProperty()` | Defines the index of the current `Entry` in the history.
    `int` | `getCurrentIndex()` | Gets the value of the property currentIndex.
    `ObservableList<WebHistory.Entry>` | `getEntries()` | Returns an unmodifiable observable list of all entries in the history.
    `int` | `getMaxSize()` | Gets the value of the property maxSize.
    `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 property maxSize.

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

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

- - ### Property Detail

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

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

  - ### Method Detail

    - #### 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())`.
      See Also:
        `getCurrentIndex()`

    - #### getCurrentIndex

          public int getCurrentIndex()

      Gets the value of the property currentIndex.
      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())`.

    - #### 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
      See Also:
        `getMaxSize()`, `setMaxSize(int)`

    - #### setMaxSize

          public void setMaxSize​(int value)

      Sets the value of the property maxSize.
      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

    - #### getMaxSize

          public int getMaxSize()

      Gets the value of the property maxSize.
      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

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