Class AddOperation

  • All Implemented Interfaces:
    com.fasterxml.jackson.databind.JsonSerializable, JsonPatchOperation

    public class AddOperation
    extends PathValueOperation
    JSON Patch add operation

    For this operation, path is the JSON Pointer where the value should be added, and value is the value to add.

    Note that if the target value pointed to by path already exists, it is replaced. In this case, add is equivalent to replace.

    Note also that a value will be created at the target path if and only if the immediate parent of that value exists (and is of the correct type).

    Finally, if the last reference token of the JSON Pointer is - and the immediate parent is an array, the given value is added at the end of the array. For instance, applying:

         { "op": "add", "path": "/-", "value": 3 }
     

    to:

         [ 1, 2 ]
     

    will give:

         [ 1, 2, 3 ]
     
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable

        com.fasterxml.jackson.databind.JsonSerializable.Base
    • Constructor Summary

      Constructors 
      Constructor Description
      AddOperation​(com.github.fge.jackson.jsonpointer.JsonPointer path, com.fasterxml.jackson.databind.JsonNode value)  
    • Field Detail

      • LAST_ARRAY_ELEMENT

        protected static final com.github.fge.jackson.jsonpointer.ReferenceToken LAST_ARRAY_ELEMENT
    • Constructor Detail

      • AddOperation

        public AddOperation​(com.github.fge.jackson.jsonpointer.JsonPointer path,
                            com.fasterxml.jackson.databind.JsonNode value)
    • Method Detail

      • apply

        public com.fasterxml.jackson.databind.JsonNode apply​(com.fasterxml.jackson.databind.JsonNode node)
                                                      throws JsonPatchException
        Description copied from interface: JsonPatchOperation
        Apply this operation to a JSON value
        Parameters:
        node - the value to patch
        Returns:
        the patched value
        Throws:
        JsonPatchException - operation failed to apply to this value
      • addToArray

        protected com.fasterxml.jackson.databind.JsonNode addToArray​(com.github.fge.jackson.jsonpointer.JsonPointer path,
                                                                     com.fasterxml.jackson.databind.JsonNode node)
                                                              throws JsonPatchException
        Throws:
        JsonPatchException
      • addToObject

        protected com.fasterxml.jackson.databind.JsonNode addToObject​(com.github.fge.jackson.jsonpointer.JsonPointer path,
                                                                      com.fasterxml.jackson.databind.JsonNode node)