Module MaterialFX
Class SynchronizedStringProperty
java.lang.Object
javafx.beans.binding.StringExpression
javafx.beans.property.ReadOnlyStringProperty
javafx.beans.property.StringProperty
javafx.beans.property.StringPropertyBase
javafx.beans.property.SimpleStringProperty
io.github.palexdev.materialfx.beans.properties.synced.SynchronizedStringProperty
- All Implemented Interfaces:
SynchronizedProperty<String>,Observable,Property<String>,ReadOnlyProperty<String>,ObservableObjectValue<String>,ObservableStringValue,ObservableValue<String>,WritableObjectValue<String>,WritableStringValue,WritableValue<String>
public class SynchronizedStringProperty
extends SimpleStringProperty
implements SynchronizedProperty<String>
Implementation of
SynchronizedProperty for String values.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.palexdev.materialfx.beans.properties.base.SynchronizedProperty
SynchronizedProperty.Helper -
Constructor Summary
ConstructorsConstructorDescriptionSynchronizedStringProperty(Object bean, String name) SynchronizedStringProperty(Object bean, String name, String initialValue) SynchronizedStringProperty(String initialValue) -
Method Summary
Modifier and TypeMethodDescriptionvoidawake()Awakes the property by settingSynchronizedProperty.waiting()to false.voidbind(ObservableValue<? extends String> source) Creates a unidirectional bindings with the given observable.voidbindBidirectional(Property<String> other) Creates a bidirectional bindings between this property and the given property.voidDelegate method forBiBindingManager.disposeFor(ObservableValue).protected voidbooleanisBound()Overridden to check theBindingManager.isBound(ObservableValue)flag value andBindingManager.isIgnoreBinding(ObservableValue).booleanvoidsetAndWait(String value, ObservableValue<?> observable) Sets this property's state to "waiting" then usesExecutionUtils.executeWhen(Observable, Runnable, boolean, Supplier, boolean)to "awake" the property when the given observable changes.voidunbind()Overridden to callBindingManager.unbind(ObservableValue).voidunbindBidirectional(Property<String> other) Overridden to callBiBindingManager.unbind(ObservableValue, ObservableValue).waiting()Methods inherited from class javafx.beans.property.SimpleStringProperty
getBean, getNameMethods inherited from class javafx.beans.property.StringPropertyBase
addListener, addListener, get, invalidated, removeListener, removeListener, set, toStringMethods inherited from class javafx.beans.property.StringProperty
bindBidirectional, bindBidirectional, setValue, unbindBidirectionalMethods inherited from class javafx.beans.binding.StringExpression
concat, getValue, getValueSafe, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, isEmpty, isEqualTo, isEqualTo, isEqualToIgnoreCase, isEqualToIgnoreCase, isNotEmpty, isNotEqualTo, isNotEqualTo, isNotEqualToIgnoreCase, isNotEqualToIgnoreCase, isNotNull, isNull, length, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, stringExpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.beans.Observable
addListener, removeListenerMethods inherited from interface javafx.beans.value.ObservableValue
addListener, getValue, removeListenerMethods inherited from interface javafx.beans.property.ReadOnlyProperty
getBean, getNameMethods inherited from interface javafx.beans.value.WritableValue
getValue, setValue
-
Constructor Details
-
SynchronizedStringProperty
public SynchronizedStringProperty() -
SynchronizedStringProperty
-
SynchronizedStringProperty
-
SynchronizedStringProperty
-
-
Method Details
-
setAndWait
Sets this property's state to "waiting" then usesExecutionUtils.executeWhen(Observable, Runnable, boolean, Supplier, boolean)to "awake" the property when the given observable changes. Just like JavaFX properties if the new value is the same as the current value the method returns and does nothing.- Specified by:
setAndWaitin interfaceSynchronizedProperty<String>- Parameters:
value- the new value of the propertyobservable- the observable to wait for
-
isWaiting
public boolean isWaiting()- Specified by:
isWaitingin interfaceSynchronizedProperty<String>- Returns:
- whether this property is in waiting state
-
waiting
- Specified by:
waitingin interfaceSynchronizedProperty<String>- Returns:
- the waiting state property as a read only property
-
awake
public void awake()Awakes the property by settingSynchronizedProperty.waiting()to false. This method should never be invoked by the user, the awakening is automatically managed by the property. If for some reason the property stays in waiting state you are probably doing something wrong.- Specified by:
awakein interfaceSynchronizedProperty<String>
-
fireValueChangedEvent
protected void fireValueChangedEvent()Overridden to not fire a change event ifwaiting()is true.- Overrides:
fireValueChangedEventin classStringPropertyBase
-
bind
Creates a unidirectional bindings with the given observable.The binding is created using the new
If the property is already bound it is automatically unbound before bindings to the new observable.BindingManagermechanism.- Specified by:
bindin interfaceProperty<String>- Overrides:
bindin classStringPropertyBase- Throws:
IllegalArgumentException- if the given observable is the property itself- See Also:
-
bindBidirectional
Creates a bidirectional bindings between this property and the given property.The binding is created using the new
If the property is already bound unidirectionally it is automatically unbound.BiBindingManagermechanism.If the property is already bound bidirectionally it won't be automatically unbound, just like JavaFX, this way you can have multiple bidirectional bindings
- Specified by:
bindBidirectionalin interfaceProperty<String>- Overrides:
bindBidirectionalin classStringProperty- Throws:
IllegalArgumentException- if the given observable is the property itself- See Also:
-
unbind
public void unbind()Overridden to callBindingManager.unbind(ObservableValue).- Specified by:
unbindin interfaceProperty<String>- Overrides:
unbindin classStringPropertyBase
-
unbindBidirectional
Overridden to callBiBindingManager.unbind(ObservableValue, ObservableValue).- Specified by:
unbindBidirectionalin interfaceProperty<String>- Overrides:
unbindBidirectionalin classStringProperty
-
clearBidirectional
public void clearBidirectional()Delegate method forBiBindingManager.disposeFor(ObservableValue). -
isBound
public boolean isBound()Overridden to check theBindingManager.isBound(ObservableValue)flag value andBindingManager.isIgnoreBinding(ObservableValue).- Specified by:
isBoundin interfaceProperty<String>- Overrides:
isBoundin classStringPropertyBase- Returns:
- true only if `BindingManager.isBound()` is true and `isIgnoreBound()` is false
-