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
`final class`
`WebHistory.Entry`
The `Entry` class represents a single entry in the session history.

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