com.vaadin.flow.internal.nodefeature.

Class ElementPropertyMap

    • 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 use

        value - the value to store

        Returns:

        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 class AbstractPropertyMap

        Parameters:

        name - the property name

        value - the value, must be a string, a boolean, a double or null

        emitChange - true to create a change event for the client side

      • addPropertyChangeListener

        public Registration addPropertyChangeListener(String name,
                                                      PropertyChangeListener listener)

        Adds a property change listener.

        Parameters:

        name - the property name to add the listener for

        listener - listener to get notifications about property value changes

        Returns:

        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.

        Overrides:

        put in class NodeMap

        Parameters:

        key - the key to use

        value - the value to store

        emitChange - true to create a change event for the client side

        Returns:

        the previous value, or null if there was no previous value

      • remove

        protected Serializable remove(String key)

        Description copied from class: NodeMap

        Removes the value stored for the given key.

        Overrides:

        remove in class NodeMap

        Parameters:

        key - the key for which to remove the value

        Returns:

        the removed value, null if no value was removed

      • 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 class NodeMap

        Parameters:

        key - the key to use

        value - the value to store

        Returns:

        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, or null 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 path

        Returns:

        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 path

        Returns:

        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 map

        Returns:

        the model map for the node