Class ValueMapUtil

java.lang.Object
org.apache.sling.api.wrappers.ValueMapUtil

public final class ValueMapUtil extends Object
Factory methods to create ValueMaps.
Since:
2.7
  • Method Details

    • merge

      @NotNull public static @NotNull ValueMap merge(@NotNull @NotNull ValueMap... valueMaps)
      A convenience method that turns the var-args into a Collection and delegates to merge(List).
      Parameters:
      valueMaps - the ValueMap instances to merge
      Returns:
      the merged ValueMap view
      See Also:
    • merge

      @NotNull public static @NotNull ValueMap merge(@NotNull @NotNull List<ValueMap> valueMaps)
      Merge provided ValueMaps into a single view ValueMap that aggregates all key-value pairs of the given maps. The value for a key-value pair is taken from the first ValueMap (in iteration order) that has a mapping for the given key.
      E.g. assuming merge(vm1, vm2, vm3 where all maps vm1, vm2, vm3 have a value mapped to the key k1, then the value from vm1 is returned.
      Parameters:
      valueMaps - the ValueMap instances to merge
      Returns:
      the merged ValueMap view
    • mergeAndCache

      @NotNull public static @NotNull ValueMap mergeAndCache(@NotNull @NotNull List<ValueMap> valueMaps)
      Convenience method that allows creating a merged ValueMap where accessed mappings are cached to optimize repeated lookups.
      This is equivalent to calling cache(merge(valueMaps)).
      Parameters:
      valueMaps - the ValueMap instances to merge
      Returns:
      the merged and cached ValueMap view
    • cache

      @NotNull public static @NotNull ValueMap cache(@NotNull @NotNull ValueMap valueMap)
      Decorates the given ValueMap with a caching layer. Every key-value pair that is accessed is cached for subsequent accesses. Calls to ValueMap#keySet(), ValueMap#values() and ValueMap#entrySet() will cause all entries to be cached.
      Note: if the underlying ValueMap is modified, the modification may not be reflected via the caching wrapper.
      Parameters:
      valueMap - the ValueMap instance to cache
      Returns:
      the cached ValueMap view