Interface PropertyConfiguration<C extends Component,P extends Serializable>

Type Parameters:
C - type of the component exported as a web component
P - type of the property exposed on the web component
All Superinterfaces:
Serializable
All Known Implementing Classes:
PropertyConfigurationImpl

public interface PropertyConfiguration<C extends Component,P extends Serializable> extends Serializable
Offers a fluent API for configuring the properties of embedded web components produced by WebComponentExporter.
Since:
2.0
Author:
Vaadin Ltd.
  • Method Details

    • onChange

      PropertyConfiguration<C,P> onChange(SerializableBiConsumer<C,P> onChangeHandler)
      Sets a Property change handler. onChange can only be called once - multiple calls will throw an exception.

      The onChangeHandler is called when the property's value changes on the client-side. If the property value is null for a property type which should not receive null-values, such as double, the method will be called with the property's default value. The default value is set by WebComponentExporter when addProperty(propertyName, defaultValue is called.

      In the following example we export MyComponent as a web component. The MyComponent class has a method setName which will be called in response to changes to the registered property "name".

       @Tag("my-component")
       public class Exporter implements WebComponentExporter<MyComponent>() {
           // ... define the web component
           public Exporter() {
               super("my-component");
               addProperty("name", "John Doe").onChange(MyComponent::setName);
           }
       }
       
      Parameters:
      onChangeHandler - component's method which is called with the property value
      Returns:
      this PropertyConfiguration
    • readOnly

      Mark the property as read-only. It cannot be written to by the client.
      Returns:
      this PropertyConfiguration