- java.lang.Object
-
- javafx.beans.binding.ObjectExpression<T>
-
- javafx.beans.property.ReadOnlyObjectProperty<T>
-
- javafx.beans.property.ReadOnlyObjectPropertyBase<T>
-
- javafx.beans.property.adapter.ReadOnlyJavaBeanObjectProperty<T>
-
- All Implemented Interfaces:
Observable
,ReadOnlyJavaBeanProperty<T>
,ReadOnlyProperty<T>
,ObservableObjectValue<T>
,ObservableValue<T>
public final class ReadOnlyJavaBeanObjectProperty<T> extends ReadOnlyObjectPropertyBase<T> implements ReadOnlyJavaBeanProperty<T>
AReadOnlyJavaBeanObjectProperty
provides an adapter between a regular read only Java Bean property ofT
and a JavaFXReadOnlyObjectProperty
. It cannot be created directly, but aReadOnlyJavaBeanObjectPropertyBuilder
has to be used.As a minimum, the Java Bean class must implement a getter for the property. The class, as well as the getter method, must be declared public. If the getter of an instance of this class is called, the property of the Java Bean is returned. If the Java Bean property is bound (i.e. it supports PropertyChangeListeners), this
ReadOnlyJavaBeanObjectProperty
will be aware of changes in the Java Bean. Otherwise it can be notified about changes by callingfireValueChangedEvent()
.Deploying an Application as a Module
If the Java Bean class is in a named module, then it must be reflectively accessible to the
javafx.base
module. A class is reflectively accessible if the moduleopens
the containing package to at least thejavafx.base
module.For example, if
com.foo.MyBeanClass
is in thefoo.app
module, themodule-info.java
might look like this:module foo.app { opens com.foo to javafx.base; }
Alternatively, a class is reflectively accessible if the module
exports
the containing package unconditionally.- Since:
- JavaFX 2.1
- See Also:
ReadOnlyObjectProperty
,ReadOnlyJavaBeanObjectPropertyBuilder
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Signals to the JavaFX property that it will not be used anymore and any references can be removed.void
fireValueChangedEvent()
Sends notifications to all attachedInvalidationListeners
andChangeListeners
.T
get()
Returns the current value of thisObservableObjectValue<T>
.Object
getBean()
Returns theObject
that contains this property.String
getName()
Returns the name of this property.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.beans.binding.ObjectExpression
asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression
-
Methods inherited from interface javafx.beans.Observable
addListener, removeListener
-
Methods inherited from interface javafx.beans.value.ObservableValue
addListener, getValue, removeListener
-
Methods inherited from class javafx.beans.property.ReadOnlyObjectProperty
toString
-
Methods inherited from class javafx.beans.property.ReadOnlyObjectPropertyBase
addListener, addListener, removeListener, removeListener
-
-
-
-
Method Detail
-
get
public T get()
Returns the current value of thisObservableObjectValue<T>
.- Specified by:
get
in interfaceObservableObjectValue<T>
- Returns:
- The current value
- Throws:
UndeclaredThrowableException
- if calling the getter of the Java Bean property throws anIllegalAccessException
or anInvocationTargetException
.
-
getBean
public Object getBean()
Returns theObject
that contains this property. If this property is not contained in anObject
,null
is returned.- Specified by:
getBean
in interfaceReadOnlyProperty<T>
- Returns:
- the containing
Object
ornull
-
getName
public String getName()
Returns the name of this property. If the property does not have a name, this method returns an emptyString
.- Specified by:
getName
in interfaceReadOnlyProperty<T>
- Returns:
- the name or an empty
String
-
fireValueChangedEvent
public void fireValueChangedEvent()
Sends notifications to all attachedInvalidationListeners
andChangeListeners
. This method needs to be called, if the value of this property changes.- Specified by:
fireValueChangedEvent
in interfaceReadOnlyJavaBeanProperty<T>
- Overrides:
fireValueChangedEvent
in classReadOnlyObjectPropertyBase<T>
-
dispose
public void dispose()
Signals to the JavaFX property that it will not be used anymore and any references can be removed. A call of this method usually results in the property stopping to observe the Java Bean property by unregistering its listener(s).- Specified by:
dispose
in interfaceReadOnlyJavaBeanProperty<T>
-
-