Class ConvertedObservableValue<A,B>

java.lang.Object
dev.webfx.kit.util.properties.conversion.ConvertedObservableValue<A,B>
All Implemented Interfaces:
Observable, ObservableValue<A>
Direct Known Subclasses:
ConvertedProperty

public class ConvertedObservableValue<A,B> extends Object implements ObservableValue<A>
Author:
Bruno Salmon
  • Field Details

    • observableValue

      protected final ObservableValue<B> observableValue
    • bToAConverter

      protected final dev.webfx.platform.util.function.Converter<B,A> bToAConverter
  • Constructor Details

    • ConvertedObservableValue

      public ConvertedObservableValue(ObservableValue<B> observableValue, dev.webfx.platform.util.function.Converter<B,A> bToAConverter)
  • Method Details

    • addListener

      public void addListener(ChangeListener<? super A> listener)
      Description copied from interface: ObservableValue
      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<A>
      Parameters:
      listener - The listener to register
      See Also:
    • removeListener

      public void removeListener(ChangeListener<? super A> listener)
      Description copied from interface: ObservableValue
      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<A>
      Parameters:
      listener - The listener to remove
      See Also:
    • getValue

      public A getValue()
      Description copied from interface: ObservableValue
      Returns the current value of this ObservableValue
      Specified by:
      getValue in interface ObservableValue<A>
      Returns:
      The current value
    • addListener

      public void addListener(InvalidationListener listener)
      Description copied from interface: Observable
      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
      Parameters:
      listener - The listener to register
      See Also:
    • removeListener

      public void removeListener(InvalidationListener listener)
      Description copied from interface: Observable
      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
      Parameters:
      listener - The listener to remove
      See Also: