Class ElementPropertyMap
java.lang.Object
com.vaadin.flow.internal.nodefeature.NodeFeature
com.vaadin.flow.internal.nodefeature.NodeMap
com.vaadin.flow.internal.nodefeature.AbstractPropertyMap
com.vaadin.flow.internal.nodefeature.ElementPropertyMap
- All Implemented Interfaces:
Serializable
Map for element property values.
For internal use only. May be renamed or removed in a future release.
- Since:
- 1.0
- Author:
- Vaadin Ltd
- See Also:
-
Constructor Summary
ConstructorDescriptionElementPropertyMap
(StateNode node) Creates a new element property map for the given node. -
Method Summary
Modifier and TypeMethodDescriptionaddPropertyChangeListener
(String name, PropertyChangeListener listener) Adds a property change listener.deferredUpdateFromClient
(String key, Serializable value) Updates a property value from the client and returns a Runnable for firing the associated PropertyChangeEvent.static ElementPropertyMap
Gets the model map for the given node.protected boolean
mayUpdateFromClient
(String key, Serializable value) Checks whether the client is allowed to store the given value with the given key.protected boolean
producePutChange
(String key, boolean hadValueEarlier, Serializable newValue) Checks whether aMapPutChange
should be produced.protected Serializable
put
(String key, Serializable value, boolean emitChange) Stores a value with the given key, replacing any value previously stored with the same key.protected Serializable
Removes the value stored for the given key.resolveModelList
(String modelPath) Resolves theModelList
that the model path refers to.resolveModelMap
(String modelPath) Resolves theElementPropertyMap
that the model path refers to.void
setProperty
(String name, Serializable value) Sets a property to the given value.void
setProperty
(String name, Serializable value, boolean emitChange) Sets a property to the given value.void
setUpdateFromClientFilter
(SerializablePredicate<String> updateFromClientFilter) Sets a filter that will be used by for determining whether a property maybe updated from the client.Methods inherited from class com.vaadin.flow.internal.nodefeature.AbstractPropertyMap
getProperty, getPropertyNames, hasProperty, isValidValueType, removeAllProperties, removeProperty
Methods inherited from class com.vaadin.flow.internal.nodefeature.NodeMap
clear, collectChanges, contains, forEachChild, generateChangesFromEmpty, get, getOrDefault, getOrDefault, getOrDefault, keySet, put, updateFromClient
Methods inherited from class com.vaadin.flow.internal.nodefeature.NodeFeature
allowsChanges, attachPotentialChild, detatchPotentialChild, getNode, onAttach, onDetach
-
Constructor Details
-
ElementPropertyMap
Creates a new element property map for the given node.- Parameters:
node
- the node that the map belongs to
-
-
Method Details
-
deferredUpdateFromClient
public Runnable deferredUpdateFromClient(String key, Serializable value) throws PropertyChangeDeniedException Updates a property value from the client and returns a Runnable for firing the associated PropertyChangeEvent.- Parameters:
key
- the key to usevalue
- the value to store- Returns:
- a runnable for firing the deferred change event
- Throws:
PropertyChangeDeniedException
- if the property change is disallowed
-
setProperty
Description copied from class:AbstractPropertyMap
Sets a property to the given value.- Overrides:
setProperty
in classAbstractPropertyMap
- Parameters:
name
- the property namevalue
- the value, must be a string, a boolean, a double ornull
emitChange
- true to create a change event for the client side
-
setProperty
Sets a property to the given value.- Parameters:
name
- the property namevalue
- the value, must be a string, a boolean, a double ornull
- See Also:
-
addPropertyChangeListener
Adds a property change listener.- Parameters:
name
- the property name to add the listener forlistener
- listener to get notifications about property value changes- Returns:
- an event registration handle for removing the listener
-
put
Description copied from class:NodeMap
Stores a value with the given key, replacing any value previously stored with the same key. -
remove
Description copied from class:NodeMap
Removes the value stored for the given key. -
mayUpdateFromClient
Description copied from class:NodeMap
Checks whether the client is allowed to store the given value with the given key. Always returnsfalse
by default.- Overrides:
mayUpdateFromClient
in classNodeMap
- Parameters:
key
- the key to usevalue
- the value to store- Returns:
true
if the value update is accepted,false
if the value should not be allowed to be updated
-
producePutChange
Description copied from class:NodeMap
Checks whether aMapPutChange
should be produced.- Overrides:
producePutChange
in classNodeMap
- Parameters:
key
- a key to produce a changehadValueEarlier
- whether the value was already earlier in the mapnewValue
- the new value for thekey
- Returns:
-
setUpdateFromClientFilter
Sets a filter that will be used by for determining whether a property maybe updated from the client. The filter is recursively inherited to child model properties.- Parameters:
updateFromClientFilter
- the filter to set, ornull
to remove the current filter
-
resolveModelMap
Resolves theElementPropertyMap
that the model path refers to.If the model path contains separate dot separated parts, any non-existing part will be created during resolving.
- Parameters:
modelPath
- the path to resolve, either a single property name or a dot separated path- Returns:
- the resolved model map
-
resolveModelList
Resolves theModelList
that the model path refers to.If the model path contains separate dot separated parts, any non-existing part will be created during resolving.
- Parameters:
modelPath
- the path to resolve, either a single property name or a dot separated path- Returns:
- the resolved model list
-
getModel
Gets the model map for the given node.Throws an exception if the node does not have a model map.
- Parameters:
node
- the node which has a model map- Returns:
- the model map for the node
-