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

## Class ReadOnlyJavaBeanStringPropertyBuilder

- java.lang.Object
- - javafx.beans.property.adapter.ReadOnlyJavaBeanStringPropertyBuilder

-     public final class ReadOnlyJavaBeanStringPropertyBuilder
      extends Object

  A `ReadOnlyJavaBeanStringPropertyBuilder` can be used to create `ReadOnlyJavaBeanStringProperties`. To create a `ReadOnlyJavaBeanStringProperty` one first has to call `create()` to generate a builder, set the required properties, and then one can call `build()` to generate the property.

  Not all properties of a builder have to specified, there are several combinations possible. As a minimum the `name(java.lang.String)` of the property and the `bean(java.lang.Object)` have to be specified. If the name of the getter follows the conventions, this is sufficient. Otherwise it is possible to specify an alternative name for the getter (`getter(java.lang.String)`) or the getter `Methods` directly (`getter(java.lang.reflect.Method)`).

  All methods to change properties return a reference to this builder, to enable method chaining.

  If you have to generate adapters for the same property of several instances of the same class, you can reuse a `ReadOnlyJavaBeanStringPropertyBuilder`. by switching the Java Bean instance (with `bean(java.lang.Object)` and calling `build()`.

  Since:
    JavaFX 2.1
  See Also:
    `ReadOnlyJavaBeanStringProperty`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ReadOnlyJavaBeanStringPropertyBuilder()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ReadOnlyJavaBeanStringPropertyBuilder` | `bean​(Object bean)` | Set the Java Bean instance the adapter should connect to
    `ReadOnlyJavaBeanStringPropertyBuilder` | `beanClass​(Class<?> beanClass)` | Set the Java Bean class in which the getter should be searched.
    `ReadOnlyJavaBeanStringProperty` | `build()` | Generate a new `ReadOnlyJavaBeanStringProperty` with the current settings.
    `static ReadOnlyJavaBeanStringPropertyBuilder` | `create()` | Create a new instance of `ReadOnlyJavaBeanStringPropertyBuilder`
    `ReadOnlyJavaBeanStringPropertyBuilder` | `getter​(Method getter)` | Set the getter method directly.
    `ReadOnlyJavaBeanStringPropertyBuilder` | `getter​(String getter)` | Set an alternative name for the getter.
    `ReadOnlyJavaBeanStringPropertyBuilder` | `name​(String name)` | Set the name of the property

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### ReadOnlyJavaBeanStringPropertyBuilder

          public ReadOnlyJavaBeanStringPropertyBuilder()

  - ### Method Detail

    - #### create

          public static ReadOnlyJavaBeanStringPropertyBuilder create()

      Create a new instance of `ReadOnlyJavaBeanStringPropertyBuilder`
      Returns:
        the new `ReadOnlyJavaBeanStringPropertyBuilder`

    - #### build

          public ReadOnlyJavaBeanStringProperty build()
                                               throws NoSuchMethodException

      Generate a new `ReadOnlyJavaBeanStringProperty` with the current settings.
      Returns:
        the new `ReadOnlyJavaBeanStringProperty`
      Throws:
        `NoSuchMethodException` - if the settings were not sufficient to find the getter of the Java Bean property
        `IllegalArgumentException` - if the Java Bean property is not of type `String`

    - #### name

          public ReadOnlyJavaBeanStringPropertyBuilder name​(String name)

      Set the name of the property
      Parameters:
        `name` - the name of the property
      Returns:
        a reference to this builder to enable method chaining

    - #### bean

          public ReadOnlyJavaBeanStringPropertyBuilder bean​(Object bean)

      Set the Java Bean instance the adapter should connect to
      Parameters:
        `bean` - the Java Bean instance
      Returns:
        a reference to this builder to enable method chaining

    - #### beanClass

          public ReadOnlyJavaBeanStringPropertyBuilder beanClass​(Class<?> beanClass)

      Set the Java Bean class in which the getter should be searched. This can be useful, if the builder should generate adapters for several Java Beans of different types.
      Parameters:
        `beanClass` - the Java Bean class
      Returns:
        a reference to this builder to enable method chaining

    - #### getter

          public ReadOnlyJavaBeanStringPropertyBuilder getter​(String getter)

      Set an alternative name for the getter. This can be omitted, if the name of the getter follows Java Bean naming conventions.
      Parameters:
        `getter` - the alternative name of the getter
      Returns:
        a reference to this builder to enable method chaining

    - #### getter

          public ReadOnlyJavaBeanStringPropertyBuilder getter​(Method getter)

      Set the getter method directly. This can be omitted, if the name of the getter follows Java Bean naming conventions.
      Parameters:
        `getter` - the getter
      Returns:
        a reference to this builder to enable method chaining