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