com.vaadin.flow.component.webcomponent.

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