Class PropertyConfigurationImpl<C extends Component,P extends Serializable>
- java.lang.Object
-
- com.vaadin.flow.server.webcomponent.PropertyConfigurationImpl<C,P>
-
- Type Parameters:
C- type of the exportedcomponentP- type of the property
- All Implemented Interfaces:
PropertyConfiguration<C,P>,Serializable
public final class PropertyConfigurationImpl<C extends Component,P extends Serializable> extends Object implements PropertyConfiguration<C,P>
For internal use only. May be renamed or removed in a future release.- Since:
- 2.0
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)SerializableBiConsumer<C,Serializable>getOnChangeHandler()Retrieves theonChangeHandlertied to this property, if one exists.PropertyData<P>getPropertyData()ComputedPropertyDatabased on the configuration details.inthashCode()PropertyConfiguration<C,P>onChange(SerializableBiConsumer<C,P> onChangeHandler)Sets a Property change handler.PropertyConfiguration<C,P>readOnly()Mark the property as read-only.
-
-
-
Constructor Detail
-
PropertyConfigurationImpl
public PropertyConfigurationImpl(Class<C> componentType, String propertyName, Class<P> propertyType, P defaultValue)
Constructs a newPropertyConfigurationImpltied to the exportedComponenttype given bycomponentType.- Parameters:
componentType- type of the exportedcomponentpropertyName- name of the propertypropertyType- type of the propertydefaultValue- default value of the property. If the property type has a primitive version, this value is used when ever the property is being set to anull.
-
-
Method Detail
-
onChange
public PropertyConfiguration<C,P> onChange(SerializableBiConsumer<C,P> onChangeHandler)
Description copied from interface:PropertyConfigurationSets a Property change handler.onChangecan only be called once - multiple calls will throw an exception.The
onChangeHandleris called when the property's value changes on the client-side. If the property value isnullfor a property type which should not receive null-values, such asdouble, the method will be called with the property's default value. The default value is set byWebComponentExporterwhenaddProperty(propertyName, defaultValueis called.In the following example we export
MyComponentas a web component. TheMyComponentclass has a methodsetNamewhich 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); } }- Specified by:
onChangein interfacePropertyConfiguration<C extends Component,P extends Serializable>- Parameters:
onChangeHandler-component's method which is called with the property value- Returns:
- this
PropertyConfiguration
-
readOnly
public PropertyConfiguration<C,P> readOnly()
Description copied from interface:PropertyConfigurationMark the property as read-only. It cannot be written to by the client.- Specified by:
readOnlyin interfacePropertyConfiguration<C extends Component,P extends Serializable>- Returns:
- this
PropertyConfiguration
-
getOnChangeHandler
public SerializableBiConsumer<C,Serializable> getOnChangeHandler()
Retrieves theonChangeHandlertied to this property, if one exists.- Returns:
- handler or
null
-
getPropertyData
public PropertyData<P> getPropertyData()
ComputedPropertyDatabased on the configuration details.- Returns:
PropertyDatavalue object
-
-