Class PropertyValueFactoryBuilder<S,T>

java.lang.Object
io.github.sosuisen.jfxbuilder.controls.PropertyValueFactoryBuilder<S,T>

public class PropertyValueFactoryBuilder<S,T> extends Object
The PropertyValueFactoryBuilder class constructs instances of the PropertyValueFactory class and offers a fluent interface for creating and configuring it.

This class includes a static create method that accepts the same arguments as the original PropertyValueFactory constructor and returns an instance of the PropertyValueFactoryBuilder.

You can use method chaining to call the builder methods for configuring the PropertyValueFactory. Finally, invoke the build method to generate an instance of the PropertyValueFactory class.

Note that intermediate builder methods are not evaluated until the build method is called, meaning they are evaluated lazily.

Author:
Hidekazu Kubota <hidekazu.kubota@gmail.com>
  • Method Details

    • create

      public static <S,T> PropertyValueFactoryBuilder<S,T> create(String property)
      Accepts the constructor arguments of PropertyValueFactory(String) and returns an instance of PropertyValueFactoryBuilder<S, T>.
      Returns:
      an instance of the PropertyValueFactoryBuilder<S, T>.
    • build

      public PropertyValueFactory<S,T> build()
      Builds and returns an instance of the PropertyValueFactory class.

      Intermediate builder methods are not evaluated until the build method is called; in other words, they are evaluated lazily.

      Returns:
      new instance of the PropertyValueFactory class
    • apply

      Applies a function to the PropertyValueFactory instance being constructed. Most operations on the instance can be performed using this method.
      Returns:
      builder instance
    • getPropertyApply

      public PropertyValueFactoryBuilder<S,T> getPropertyApply(Consumer<String> op)
      Applies a function to the getProperty of the instance being constructed. This serves as a shorthand form of the apply method.

      Example:

      // Use apply
      .apply(obj -> obj.getProperty().bind(anotherProperty))
      
      // Use shorthand form
      .getPropertyApply(prop -> prop.bind(anotherProperty))
      
      Returns:
      builder instance