Top Description Inners Fields Constructors Methods
com.sun.javafx.binding

public abstract Class ExpressionHelper<T>

extends ExpressionHelperBase
Class Inheritance
Known Direct Subclasses
com.sun.javafx.binding.ExpressionHelper.SingleInvalidation, com.sun.javafx.binding.ExpressionHelper.SingleChange, com.sun.javafx.binding.ExpressionHelper.Generic
Imports
javafx.beans.InvalidationListener, javafx.beans.value.ChangeListener, .ObservableValue, java.util.Arrays

A convenience class for creating implementations of javafx.beans.value.ObservableValue. It contains all of the infrastructure support for value invalidation- and change event notification.

This implementation can handle adding and removing listeners while the observers are being notified, but it is not thread-safe.

This class keeps track of the latest value it has seen to determine if change listeners should be called when next fireValueChangedEvent() is called. So while this value is usually the current value of the involved observable, it becomes the "old" value as soon as the observable is changed, until such time it is updated again (by calling fireValueChangedEvent()).

During this brief period, listeners may be added or removed causing the ExpressionHelper to perhaps switch to a different variant of itself. These different variants must be made aware of the currently stored latest value, as obtaining this value from the ObservableValue would (during that brief period) be a different value. Using the incorrect latest value would result in change listeners not being fired as they perform an equality check.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
protected final ObservableValue<T>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static <T> ExpressionHelper<T>
public static <T> ExpressionHelper<T>
addListener(ExpressionHelper<T> helper, ObservableValue<T> observable, ChangeListener<? super T> listener)

protected abstract ExpressionHelper<T>
protected abstract ExpressionHelper<T>
addListener(ChangeListener<? super T> listener)

public static <T> void
protected abstract void
public static <T> ExpressionHelper<T>
public static <T> ExpressionHelper<T>
removeListener(ExpressionHelper<T> helper, ChangeListener<? super T> listener)

protected abstract ExpressionHelper<T>
protected abstract ExpressionHelper<T>
removeListener(ChangeListener<? super T> listener)

Inherited from com.sun.javafx.binding.ExpressionHelperBase:
trim

Field Detail

observableback to summary
protected final ObservableValue<T> observable

Constructor Detail

ExpressionHelperback to summary
private ExpressionHelper(ObservableValue<T> observable)

Method Detail

addListenerback to summary
public static <T> ExpressionHelper<T> addListener(ExpressionHelper<T> helper, ObservableValue<T> observable, InvalidationListener listener)
addListenerback to summary
public static <T> ExpressionHelper<T> addListener(ExpressionHelper<T> helper, ObservableValue<T> observable, ChangeListener<? super T> listener)
addListenerback to summary
protected abstract ExpressionHelper<T> addListener(InvalidationListener listener)
addListenerback to summary
protected abstract ExpressionHelper<T> addListener(ChangeListener<? super T> listener)
fireValueChangedEventback to summary
public static <T> void fireValueChangedEvent(ExpressionHelper<T> helper)
fireValueChangedEventback to summary
protected abstract void fireValueChangedEvent()
removeListenerback to summary
public static <T> ExpressionHelper<T> removeListener(ExpressionHelper<T> helper, InvalidationListener listener)
removeListenerback to summary
public static <T> ExpressionHelper<T> removeListener(ExpressionHelper<T> helper, ChangeListener<? super T> listener)
removeListenerback to summary
protected abstract ExpressionHelper<T> removeListener(InvalidationListener listener)
removeListenerback to summary
protected abstract ExpressionHelper<T> removeListener(ChangeListener<? super T> listener)
com.sun.javafx.binding back to summary

private Class ExpressionHelper.Generic<T>

extends ExpressionHelper<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private ChangeListener<? super T>[]
private int
private T
private InvalidationListener[]
private int
private boolean
Inherited from com.sun.javafx.binding.ExpressionHelper:
observable

Constructor Summary

AccessConstructor and Description
private
private
Generic(ObservableValue<T> observable, T currentValue, ChangeListener<? super T> listener0, ChangeListener<? super T> listener1)

private
Generic(ObservableValue<T> observable, T currentValue, InvalidationListener invalidationListener, ChangeListener<? super T> changeListener)

Method Summary

Modifier and TypeMethod and Description
protected ExpressionHelper.Generic<T>
protected ExpressionHelper<T>
protected void
protected ExpressionHelper<T>
protected ExpressionHelper<T>
Inherited from com.sun.javafx.binding.ExpressionHelper:
addListeneraddListenerfireValueChangedEventremoveListenerremoveListener

Field Detail

changeListenersback to summary
private ChangeListener<? super T>[] changeListeners
changeSizeback to summary
private int changeSize
currentValueback to summary
private T currentValue
invalidationListenersback to summary
private InvalidationListener[] invalidationListeners
invalidationSizeback to summary
private int invalidationSize
lockedback to summary
private boolean locked

Constructor Detail

Genericback to summary
private Generic(ObservableValue<T> observable, InvalidationListener listener0, InvalidationListener listener1)
Genericback to summary
private Generic(ObservableValue<T> observable, T currentValue, ChangeListener<? super T> listener0, ChangeListener<? super T> listener1)
Genericback to summary
private Generic(ObservableValue<T> observable, T currentValue, InvalidationListener invalidationListener, ChangeListener<? super T> changeListener)

Method Detail

addListenerback to summary
protected ExpressionHelper.Generic<T> addListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
addListenerback to summary
protected ExpressionHelper<T> addListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
fireValueChangedEventback to summary
protected void fireValueChangedEvent()

Implements abstract com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override
com.sun.javafx.binding back to summary

private Class ExpressionHelper.SingleChange<T>

extends ExpressionHelper<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private T
private final ChangeListener<? super T>
Inherited from com.sun.javafx.binding.ExpressionHelper:
observable

Constructor Summary

AccessConstructor and Description
private
SingleChange(ObservableValue<T> observable, T currentValue, ChangeListener<? super T> listener)

Method Summary

Modifier and TypeMethod and Description
protected ExpressionHelper<T>
protected ExpressionHelper<T>
protected void
protected ExpressionHelper<T>
protected ExpressionHelper<T>
Inherited from com.sun.javafx.binding.ExpressionHelper:
addListeneraddListenerfireValueChangedEventremoveListenerremoveListener

Field Detail

currentValueback to summary
private T currentValue
listenerback to summary
private final ChangeListener<? super T> listener

Constructor Detail

SingleChangeback to summary
private SingleChange(ObservableValue<T> observable, T currentValue, ChangeListener<? super T> listener)

Method Detail

addListenerback to summary
protected ExpressionHelper<T> addListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
addListenerback to summary
protected ExpressionHelper<T> addListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
fireValueChangedEventback to summary
protected void fireValueChangedEvent()

Implements abstract com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override
com.sun.javafx.binding back to summary

private Class ExpressionHelper.SingleInvalidation<T>

extends ExpressionHelper<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final InvalidationListener
Inherited from com.sun.javafx.binding.ExpressionHelper:
observable

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
protected ExpressionHelper<T>
protected ExpressionHelper<T>
protected void
protected ExpressionHelper<T>
protected ExpressionHelper<T>
Inherited from com.sun.javafx.binding.ExpressionHelper:
addListeneraddListenerfireValueChangedEventremoveListenerremoveListener

Field Detail

listenerback to summary
private final InvalidationListener listener

Constructor Detail

SingleInvalidationback to summary
private SingleInvalidation(ObservableValue<T> expression, InvalidationListener listener)

Method Detail

addListenerback to summary
protected ExpressionHelper<T> addListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
addListenerback to summary
protected ExpressionHelper<T> addListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.addListener.

Annotations
@Override
fireValueChangedEventback to summary
protected void fireValueChangedEvent()

Implements abstract com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(InvalidationListener listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override
removeListenerback to summary
protected ExpressionHelper<T> removeListener(ChangeListener<? super T> listener)

Implements abstract com.sun.javafx.binding.ExpressionHelper.removeListener.

Annotations
@Override