Interface ModifiableValueMap

  • All Superinterfaces:
    java.util.Map<java.lang.String,​java.lang.Object>, ValueMap
    All Known Implementing Classes:
    DeepModifiableValueMapDecorator, DeepReadModifiableValueMapDecorator, ModifiableMappedValueMapDecorator, ModifiableValueMapDecorator

    @ConsumerType
    public interface ModifiableValueMap
    extends ValueMap
    The ModifiableValueMap is an extension of the ValueMap which allows to modify and persist properties. All changes to this map are stored in the transient layer of the resource resolver or more precisely in the transient layer of the resource provider managing this resource.

    Once ResourceResolver.commit() is called, the changes are finally persisted.

    The modifiable value map is only changeable through one of these methods

    • Map.put(Object, Object)
    • Map.putAll(java.util.Map)
    • Map.remove(Object)

    The map is not modifiable through the collections provided by

    • Map.entrySet()
    • Map.keySet()
    • Map.values()
    And it can't be modified by these methods:
    • Map.clear()

    A modifiable value map should value ResourceResolver.PROPERTY_RESOURCE_TYPE to set the resource type of a resource.

    A modifiable value map must not support deep writes. A call of a modification method with a path should result in an IllegalArgumentException.

    Since:
    2.2 (Sling API Bundle 2.2.0)
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Field Summary

      • Fields inherited from interface org.apache.sling.api.resource.ValueMap

        EMPTY
    • Method Summary

      • Methods inherited from interface java.util.Map

        clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
      • Methods inherited from interface org.apache.sling.api.resource.ValueMap

        get, get