com.vaadin.flow.internal.nodefeature.
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:
public class ElementPropertyMap extends AbstractPropertyMap
Map for element property values.
Since:
1.0
Author:
Vaadin Ltd
See Also:
-
-
Constructor Summary
Constructors Constructor and Description ElementPropertyMap(StateNode node)
Creates a new element property map for the given node.
-
Method Summary
All Methods Modifier and Type Method and Description Registration
addPropertyChangeListener(String name, PropertyChangeListener listener)
Adds a property change listener.
Runnable
deferredUpdateFromClient(String key, Serializable value)
Updates a property value from the client and returns a Runnable for firing the associated PropertyChangeEvent.
static ElementPropertyMap
getModel(StateNode node)
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 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
remove(String key)
Removes the value stored for the given key.
ModelList
resolveModelList(String modelPath)
Resolves the
ModelList
that the model path refers to.ElementPropertyMap
resolveModelMap(String modelPath)
Resolves the
ElementPropertyMap
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 Detail
-
ElementPropertyMap
public ElementPropertyMap(StateNode node)
Creates a new element property map for the given node.
Parameters:
node
- the node that the map belongs to
-
-
Method Detail
-
deferredUpdateFromClient
public Runnable deferredUpdateFromClient(String key, Serializable value)
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 storeReturns:
a runnable for firing the deferred change event
-
setProperty
public void setProperty(String name, Serializable value, boolean emitChange)
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
public void setProperty(String name, Serializable value)
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
public Registration addPropertyChangeListener(String name, PropertyChangeListener listener)
Adds a property change listener.
Parameters:
name
- the property name to add the listener forlistener
- listener to get notifications about property value changesReturns:
an event registration handle for removing the listener
-
put
protected Serializable put(String key, Serializable value, boolean emitChange)
Description copied from class:
NodeMap
Stores a value with the given key, replacing any value previously stored with the same key.
-
remove
protected Serializable remove(String key)
Description copied from class:
NodeMap
Removes the value stored for the given key.
-
mayUpdateFromClient
protected boolean mayUpdateFromClient(String key, Serializable value)
Description copied from class:
NodeMap
Checks whether the client is allowed to store the given value with the given key. Always returns
false
by default.Overrides:
mayUpdateFromClient
in classNodeMap
Parameters:
key
- the key to usevalue
- the value to storeReturns:
true
if the value update is accepted,false
if the value should not be allowed to be updated
-
setUpdateFromClientFilter
public void setUpdateFromClientFilter(SerializablePredicate<String> updateFromClientFilter)
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
public ElementPropertyMap resolveModelMap(String modelPath)
Resolves the
ElementPropertyMap
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 pathReturns:
the resolved model map
-
resolveModelList
public ModelList resolveModelList(String modelPath)
Resolves the
ModelList
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 pathReturns:
the resolved model list
-
getModel
public static ElementPropertyMap getModel(StateNode node)
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 mapReturns:
the model map for the node
-
-