JavaBeanStringProperty (JavaFX 17)

Module javafx.base
Package javafx.beans.property.adapter

## Class JavaBeanStringProperty

- java.lang.Object
- - javafx.beans.binding.StringExpression
  - - javafx.beans.property.ReadOnlyStringProperty
    - - javafx.beans.property.StringProperty
      - - javafx.beans.property.adapter.JavaBeanStringProperty

- All Implemented Interfaces:
    `Observable`, `JavaBeanProperty<String>`, `ReadOnlyJavaBeanProperty<String>`, `Property<String>`, `ReadOnlyProperty<String>`, `ObservableObjectValue<String>`, `ObservableStringValue`, `ObservableValue<String>`, `WritableObjectValue<String>`, `WritableStringValue`, `WritableValue<String>`

      public final class JavaBeanStringProperty
      extends StringProperty
      implements JavaBeanProperty<String>

  A `JavaBeanStringProperty` provides an adapter between a regular Java Bean property of type `String` and a JavaFX `StringProperty`. It cannot be created directly, but a `JavaBeanStringPropertyBuilder` has to be used.

  As a minimum, the Java Bean class must implement a getter and a setter for the property. The class, as well as the getter and a setter methods, 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 setter is called, the value will be passed to the Java Bean property. If the Java Bean property is bound (i.e. it supports PropertyChangeListeners), this `JavaBeanStringProperty` will be aware of changes in the Java Bean. Otherwise it can be notified about changes by calling `ReadOnlyJavaBeanProperty.fireValueChangedEvent()`. If the Java Bean property is also constrained (i.e. it supports VetoableChangeListeners), this `JavaBeanStringProperty` will reject changes, if it is bound to an `ObservableValue<String>`.

  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 module `opens` the containing package to at least the `javafx.base` module.

  For example, if `com.foo.MyBeanClass` is in the `foo.app` module, the `module-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:
    `StringProperty`, `JavaBeanStringPropertyBuilder`

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `get()` | Get the wrapped value.
    `void` | `set​(String value)` | Set the wrapped value.

    - ### Methods declared in class javafx.beans.property.StringProperty

      `bindBidirectional, bindBidirectional, toString, unbindBidirectional`

    - ### Methods declared in class javafx.beans.binding.StringExpression

      `concat, getValueSafe, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, isEmpty, isEqualTo, isEqualTo, isEqualToIgnoreCase, isEqualToIgnoreCase, isNotEmpty, isNotEqualTo, isNotEqualTo, isNotEqualToIgnoreCase, isNotEqualToIgnoreCase, isNotNull, isNull, length, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, stringExpression`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods declared in interface javafx.beans.Observable

      `addListener, removeListener`

    - ### Methods declared in interface javafx.beans.value.ObservableValue

      `addListener, getValue, removeListener`

    - ### Methods declared in interface javafx.beans.property.Property

      `bind, bindBidirectional, isBound, unbind, unbindBidirectional`

    - ### Methods declared in interface javafx.beans.property.adapter.ReadOnlyJavaBeanProperty

      `dispose, fireValueChangedEvent`

    - ### Methods declared in interface javafx.beans.property.ReadOnlyProperty

      `getBean, getName`

    - ### Methods declared in interface javafx.beans.value.WritableValue

      `getValue, setValue`

- - ### Method Detail

    - #### get

          public String get()

      Get the wrapped value. This must be identical to the value returned from `WritableValue.getValue()`.

      This method exists only to align WritableObjectValue API with `WritableBooleanValue` and subclasses of `WritableNumberValue`

      Specified by:
        `get` in interface `ObservableObjectValue<String>`
      Specified by:
        `get` in interface `WritableObjectValue<String>`
      Returns:
        The current value
      Throws:
        `UndeclaredThrowableException` - if calling the getter of the Java Bean property throws an `IllegalAccessException` or an `InvocationTargetException`.

    - #### set

          public void set​(String value)

      Set the wrapped value. Should be equivalent to `WritableValue.setValue(java.lang.Object)`
      Specified by:
        `set` in interface `WritableObjectValue<String>`
      Parameters:
        `value` - The new value
      Throws:
        `UndeclaredThrowableException` - if calling the getter of the Java Bean property throws an `IllegalAccessException` or an `InvocationTargetException`.
      See Also:
        `WritableObjectValue.get()`