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>, 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 and 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addListener(ChangeListener<? super ObservableList<E>> listener)` Adds a `ChangeListener` which will be notified whenever the value of the `ObservableValue` changes.
    `void` | `addListener(InvalidationListener listener)` Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid.
    `void` | `addListener(ListChangeListener<? super E> listener)` Add a listener to this observable list.
    `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`.
    `void` | `removeListener(ChangeListener<? super ObservableList<E>> listener)` Removes the given listener from the list of listeners, that are notified whenever the value of the `ObservableValue` changes.
    `void` | `removeListener(InvalidationListener listener)` Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.
    `void` | `removeListener(ListChangeListener<? super E> listener)` Tries to removed a listener from this observable list.

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

      `getBean, getName`

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

      `bind, emptyProperty, get, invalidated, isBound, 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 javafx.beans.value.ObservableValue

      `getValue`

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

      `getValue`

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

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

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

      `add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray`

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

      `parallelStream, removeIf, stream`

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

      `forEach`

- - ### Constructor Detail

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

    - #### getReadOnlyProperty

          public ReadOnlyListProperty<E> getReadOnlyProperty()

      Returns the readonly property, that is synchronized with this `ReadOnlyListWrapper`.
      Returns:
        the readonly property

    - #### addListener

          public void addListener(InvalidationListener listener)

      Adds an `InvalidationListener` which will be notified whenever the `Observable` becomes invalid. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.

      Note that the same actual `InvalidationListener` instance may be safely registered for different `Observables`.

      The `Observable` stores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by calling `removeListener` after use or to use an instance of `WeakInvalidationListener` avoid this situation.

      Specified by:
        `addListener` in interface `Observable`
      Overrides:
        `addListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - The listener to register
      See Also:
        `Observable.removeListener(InvalidationListener)`

    - #### removeListener

          public void removeListener(InvalidationListener listener)

      Removes the given listener from the list of listeners, that are notified whenever the value of the `Observable` becomes invalid.

      If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.

      Specified by:
        `removeListener` in interface `Observable`
      Overrides:
        `removeListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - The listener to remove
      See Also:
        `Observable.addListener(InvalidationListener)`

    - #### addListener

          public void addListener(ChangeListener<? super ObservableList<E>> listener)

      Adds a `ChangeListener` which will be notified whenever the value of the `ObservableValue` changes. If the same listener is added more than once, then it will be notified more than once. That is, no check is made to ensure uniqueness.

      Note that the same actual `ChangeListener` instance may be safely registered for different `ObservableValues`.

      The `ObservableValue` stores a strong reference to the listener which will prevent the listener from being garbage collected and may result in a memory leak. It is recommended to either unregister a listener by calling `removeListener` after use or to use an instance of `WeakChangeListener` avoid this situation.

      Specified by:
        `addListener` in interface `ObservableValue<ObservableList<E>>`
      Overrides:
        `addListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - The listener to register
      See Also:
        `ObservableValue.removeListener(ChangeListener)`

    - #### removeListener

          public void removeListener(ChangeListener<? super ObservableList<E>> listener)

      Removes the given listener from the list of listeners, that are notified whenever the value of the `ObservableValue` changes.

      If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.

      Specified by:
        `removeListener` in interface `ObservableValue<ObservableList<E>>`
      Overrides:
        `removeListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - The listener to remove
      See Also:
        `ObservableValue.addListener(ChangeListener)`

    - #### addListener

          public void addListener(ListChangeListener<? super E> listener)

      Add a listener to this observable list.
      Specified by:
        `addListener` in interface `ObservableList<E>`
      Overrides:
        `addListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - the listener for listening to the list changes

    - #### removeListener

          public void removeListener(ListChangeListener<? super E> listener)

      Tries to removed a listener from this observable list. If the listener is not attached to this list, nothing happens.
      Specified by:
        `removeListener` in interface `ObservableList<E>`
      Overrides:
        `removeListener` in class `ListPropertyBase<E>`
      Parameters:
        `listener` - a listener to remove

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

Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.