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 Detail

      • 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

        PropertyConfiguration<C,​P> readOnly()
        Mark the property as read-only. It cannot be written to by the client.
        Returns:
        this PropertyConfiguration