Package org.apache.sling.api.wrappers
Class ValueMapUtil
- java.lang.Object
-
- org.apache.sling.api.wrappers.ValueMapUtil
-
public final class ValueMapUtil extends java.lang.ObjectFactory methods to createValueMaps.- Since:
- 2.7
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static @NotNull ValueMapcache(@NotNull ValueMap valueMap)Decorates the givenValueMapwith a caching layer.static @NotNull ValueMapmerge(@NotNull java.util.List<ValueMap> valueMaps)Merge providedValueMapsinto a single viewValueMapthat aggregates all key-value pairs of the given maps.static @NotNull ValueMapmerge(@NotNull ValueMap... valueMaps)A convenience method that turns the var-args into aCollectionand delegates tomerge(List).static @NotNull ValueMapmergeAndCache(@NotNull java.util.List<ValueMap> valueMaps)Convenience method that allows creating a mergedValueMapwhere accessed mappings are cached to optimize repeated lookups.
-
-
-
Method Detail
-
merge
@NotNull public static @NotNull ValueMap merge(@NotNull @NotNull ValueMap... valueMaps)
A convenience method that turns the var-args into aCollectionand delegates tomerge(List).- Parameters:
valueMaps- theValueMapinstances to merge- Returns:
- the merged
ValueMapview - See Also:
merge(List)
-
merge
@NotNull public static @NotNull ValueMap merge(@NotNull @NotNull java.util.List<ValueMap> valueMaps)
Merge providedValueMapsinto a single viewValueMapthat aggregates all key-value pairs of the given maps. The value for a key-value pair is taken from the firstValueMap(in iteration order) that has a mapping for the given key.
E.g. assumingmerge(vm1, vm2, vm3where all mapsvm1, vm2, vm3have a value mapped to the keyk1, then the value fromvm1is returned.- Parameters:
valueMaps- theValueMapinstances to merge- Returns:
- the merged
ValueMapview
-
mergeAndCache
@NotNull public static @NotNull ValueMap mergeAndCache(@NotNull @NotNull java.util.List<ValueMap> valueMaps)
Convenience method that allows creating a mergedValueMapwhere accessed mappings are cached to optimize repeated lookups.
This is equivalent to callingcache(merge(valueMaps)).- Parameters:
valueMaps- theValueMapinstances to merge- Returns:
- the merged and cached
ValueMapview
-
cache
@NotNull public static @NotNull ValueMap cache(@NotNull @NotNull ValueMap valueMap)
Decorates the givenValueMapwith a caching layer. Every key-value pair that is accessed is cached for subsequent accesses. Calls toValueMap#keySet(),ValueMap#values()andValueMap#entrySet()will cause all entries to be cached.
Note: if the underlyingValueMapis modified, the modification may not be reflected via the caching wrapper.- Parameters:
valueMap- theValueMapinstance to cache- Returns:
- the cached
ValueMapview
-
-