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`

- ## Method Summary

  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 declared in class java.lang.Object

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

- ## Method Details

  - ### 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