Module javafx.base
Package javafx.beans.property

# Class ReadOnlyListWrapper<E>

java.lang.Object
javafx.beans.binding.ListExpression<E>
javafx.beans.property.ReadOnlyListProperty<E>
javafx.beans.property.ListProperty<E>
javafx.beans.property.ListPropertyBase<E>
javafx.beans.property.SimpleListProperty<E>
javafx.beans.property.ReadOnlyListWrapper<E>

All Implemented Interfaces:
  `Iterable<E>`, `Collection<E>`, `List<E>`, `SequencedCollection<E>`, `Observable`, `Property<ObservableList<E>>`, `ReadOnlyProperty<ObservableList<E>>`, `ObservableListValue<E>`, `ObservableObjectValue<ObservableList<E>>`, `ObservableValue<ObservableList<E>>`, `WritableListValue<E>`, `WritableObjectValue<ObservableList<E>>`, `WritableValue<ObservableList<E>>`, `ObservableList<E>`

public class ReadOnlyListWrapper<E> extends SimpleListProperty<E>
This class provides a convenient class to define read-only properties. It creates two properties that are synchronized. One property is read-only and can be passed to external users. The other property is read- and writable and should be used internally only.

Since:
  JavaFX 2.1

## Property Summary

### Properties inherited from class javafx.beans.property.ListPropertyBase

`empty, size`

## Constructor Summary

Constructors
Constructor
Description
`ReadOnlyListWrapper()`
The constructor of `ReadOnlyListWrapper`
`ReadOnlyListWrapper(Object bean, String name)`
The constructor of `ReadOnlyListWrapper`
`ReadOnlyListWrapper(Object bean, String name, ObservableList<E> initialValue)`
The constructor of `ReadOnlyListWrapper`
`ReadOnlyListWrapper(ObservableList<E> initialValue)`
The constructor of `ReadOnlyListWrapper`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`fireValueChangedEvent()`
Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`.
`protected void`
`fireValueChangedEvent(ListChangeListener.Change<? extends E> change)`
Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`.
`ReadOnlyListProperty<E>`
`getReadOnlyProperty()`
Returns the readonly property, that is synchronized with this `ReadOnlyListWrapper`.

### Methods inherited from class javafx.beans.property.SimpleListProperty

`getBean, getName`

### Methods inherited from class javafx.beans.property.ListPropertyBase

`addListener, addListener, addListener, bind, emptyProperty, get, invalidated, isBound, removeListener, removeListener, removeListener, set, sizeProperty, toString, unbind`

### Methods inherited from class javafx.beans.property.ListProperty

`bindBidirectional, setValue, unbindBidirectional`

### Methods inherited from class javafx.beans.property.ReadOnlyListProperty

`bindContent, bindContentBidirectional, equals, hashCode, unbindContent, unbindContentBidirectional`

### Methods inherited from class javafx.beans.binding.ListExpression

`add, add, addAll, addAll, addAll, asString, clear, contains, containsAll, get, getSize, getValue, indexOf, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, lastIndexOf, listExpression, listIterator, listIterator, remove, remove, remove, removeAll, removeAll, retainAll, retainAll, set, setAll, setAll, size, subList, toArray, toArray, valueAt, valueAt`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream, toArray`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Methods inherited from interface java.util.List

`add, add, addAll, addAll, addFirst, addLast, clear, contains, containsAll, equals, get, getFirst, getLast, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, set, size, sort, spliterator, subList, toArray, toArray`

### Methods inherited from interface javafx.collections.ObservableList

`addAll, filtered, remove, removeAll, retainAll, setAll, setAll, sorted, sorted`

### Methods inherited from interface javafx.beans.value.ObservableValue

`getValue`

### Methods inherited from interface javafx.beans.value.WritableValue

`getValue`

## Constructor Details

### ReadOnlyListWrapper

public ReadOnlyListWrapper()
The constructor of `ReadOnlyListWrapper`

### ReadOnlyListWrapper

public ReadOnlyListWrapper(ObservableList<E> initialValue)
The constructor of `ReadOnlyListWrapper`

Parameters:
  `initialValue` - the initial value of the wrapped value

### ReadOnlyListWrapper

public ReadOnlyListWrapper(Object bean, String name)
The constructor of `ReadOnlyListWrapper`

Parameters:
  `bean` - the bean of this `ReadOnlyListWrapper`
  `name` - the name of this `ReadOnlyListWrapper`

### ReadOnlyListWrapper

public ReadOnlyListWrapper(Object bean, String name, ObservableList<E> initialValue)
The constructor of `ReadOnlyListWrapper`

Parameters:
  `bean` - the bean of this `ReadOnlyListWrapper`
  `name` - the name of this `ReadOnlyListWrapper`
  `initialValue` - the initial value of the wrapped value

## Method Details

### getReadOnlyProperty

public ReadOnlyListProperty<E> getReadOnlyProperty()
Returns the readonly property, that is synchronized with this `ReadOnlyListWrapper`.

Returns:
  the readonly property

### fireValueChangedEvent

protected void fireValueChangedEvent()
Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`. This method is called when the value is changed, either manually by calling `ListPropertyBase.set(ObservableList)` or in case of a bound property, if the binding becomes invalid.

Overrides:
  `fireValueChangedEvent` in class `ListPropertyBase<E>`

### fireValueChangedEvent

protected void fireValueChangedEvent(ListChangeListener.Change<? extends E> change)
Sends notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `ListChangeListener`. This method is called when the content of the list changes.

Overrides:
  `fireValueChangedEvent` in class `ListPropertyBase<E>`
Parameters:
  `change` - the change that needs to be propagated