com.vaadin.flow.internal.nodefeature.

Class NodeMap

java.lang.Object
com.vaadin.flow.internal.nodefeature.NodeFeature
com.vaadin.flow.internal.nodefeature.NodeMap

All Implemented Interfaces:

Serializable

Direct Known Subclasses:

AbstractPropertyMap, ElementAttributeMap, ElementData, ElementListenerMap, LoadingIndicatorConfigurationMap, PollConfigurationMap, PolymerEventListenerMap, PushConfigurationMap, PushConfigurationMap.PushConfigurationParametersMap, ReconnectDialogConfigurationMap

public abstract class NodeMap extends NodeFeature

A state node feature that structures data as a map.

For internal use only. May be renamed or removed in a future release.

Since:

1.0

Author:

Vaadin Ltd

See Also:

  • Constructor Details

    • NodeMap

      public NodeMap(StateNode node)

      Creates a new map feature for the given node.

      Parameters:

      node - the node that the feature belongs to

  • Method Details

    • put

      protected void put(String key, Serializable value)

      Stores a value with the given key, replacing any value previously stored with the same key.

      Parameters:

      key - the key to use

      value - the value to store

    • put

      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.

      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

    • get

      protected Serializable get(String key)

      Gets the value corresponding to the given key.

      Parameters:

      key - the key to get a value for

      Returns:

      the value corresponding to the key; null if there is no value stored, or if null is stored as a value

    • getOrDefault

      protected String getOrDefault(String key, String defaultValue)

      Gets the value corresponding to the given key, or the given default value if no value is stored for the given key or the value is null.

      Parameters:

      key - the key to get a value for

      defaultValue - the value to return if no value is stored for the given key

      Returns:

      the value corresponding to the key or the given defaultValue if no value is stored for the key or the stored value is null

    • getOrDefault

      protected int getOrDefault(String key, int defaultValue)

      Gets the value corresponding to the given key, or the given default value if no value is stored for the given key or the value is null.

      Parameters:

      key - the key to get a value for

      defaultValue - the value to return if no value is stored for the given key

      Returns:

      the value corresponding to the key or the given defaultValue if no value is stored for the key or the stored value is null

    • getOrDefault

      protected boolean getOrDefault(String key, boolean defaultValue)

      Gets the value corresponding to the given key, or the given default value if no value is stored for the given key or the value is null.

      Parameters:

      key - the key to get a value for

      defaultValue - the value to return if no value is stored for the given key

      Returns:

      the value corresponding to the key or the given defaultValue if no value is stored for the key or the stored value is null

    • keySet

      protected Set<String> keySet()

      Gets the defined keys.

      Returns:

      a set containing all the defined keys

    • contains

      protected boolean contains(String key)

      Checks whether a value is stored for the given key.

      Parameters:

      key - the key to check

      Returns:

      true if there is a value stored; false if no value is stored

    • remove

      protected Serializable remove(String key)

      Removes the value stored for the given key.

      Parameters:

      key - the key for which to remove the value

      Returns:

      the removed value, null if no value was removed

    • clear

      protected void clear()

      Removes the values for all stored keys.

    • collectChanges

      public void collectChanges(Consumer<NodeChange> collector)

      Description copied from class: NodeFeature

      Collects all changes that are recorded for this feature.

      Specified by:

      collectChanges in class NodeFeature

      Parameters:

      collector - a consumer accepting node changes

    • generateChangesFromEmpty

      public void generateChangesFromEmpty()

      Description copied from class: NodeFeature

      Generates all changes that would be needed to take this node from its initial empty state to its current state.

      Specified by:

      generateChangesFromEmpty in class NodeFeature

    • forEachChild

      public void forEachChild(Consumer<StateNode> action)

      Description copied from class: NodeFeature

      Passes each child node instance to the given consumer.

      Specified by:

      forEachChild in class NodeFeature

      Parameters:

      action - the consumer that accepts each child

    • updateFromClient

      public void updateFromClient(String key, Serializable value)

      Receives a value update from the client. The map value is updated without creating a change record since the client already knows the current value. The value is only updated if mayUpdateFromClient(String, Serializable) has been overridden to accept the value.

      Parameters:

      key - the key to use

      value - the value to store

    • mayUpdateFromClient

      protected boolean mayUpdateFromClient(String key, Serializable value)

      Checks whether the client is allowed to store the given value with the given key. Always returns false by default.

      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

    • producePutChange

      protected boolean producePutChange(String key, boolean hadValueEarlier, Serializable newValue)

      Checks whether a MapPutChange should be produced.

      Parameters:

      key - a key to produce a change

      hadValueEarlier - whether the value was already earlier in the map

      newValue - the new value for the key

      Returns: