Package jakarta.json

Interface JsonPatchBuilder


  • public interface JsonPatchBuilder
    A builder for constructing a JSON Patch as defined by RFC 6902 by adding JSON Patch operations incrementally.

    The following illustrates the approach.

       JsonPatchBuilder builder = Json.createPatchBuilder();
       JsonPatch patch = builder.add("/John/phones/office", "1234-567")
                                .remove("/Amy/age")
                                .build();
     
    The result is equivalent to the following JSON Patch.
     [
        {"op" = "add", "path" = "/John/phones/office", "value" = "1234-567"},
        {"op" = "remove", "path" = "/Amy/age"}
     ] 
    Since:
    1.1
    See Also:
    RFC 6902
    • Method Detail

      • add

        JsonPatchBuilder add​(String path,
                             JsonValue value)
        Adds an "add" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • add

        JsonPatchBuilder add​(String path,
                             String value)
        Adds an "add" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • add

        JsonPatchBuilder add​(String path,
                             int value)
        Adds an "add" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • add

        JsonPatchBuilder add​(String path,
                             boolean value)
        Adds an "add" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • remove

        JsonPatchBuilder remove​(String path)
        Adds a "remove" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        Returns:
        this JsonPatchBuilder
      • replace

        JsonPatchBuilder replace​(String path,
                                 JsonValue value)
        Adds a "replace" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • replace

        JsonPatchBuilder replace​(String path,
                                 String value)
        Adds a "replace" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • replace

        JsonPatchBuilder replace​(String path,
                                 int value)
        Adds a "replace" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • replace

        JsonPatchBuilder replace​(String path,
                                 boolean value)
        Adds a "replace" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • move

        JsonPatchBuilder move​(String path,
                              String from)
        Adds a "move" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        from - the "from" member of the operation
        Returns:
        this JsonPatchBuilder
      • copy

        JsonPatchBuilder copy​(String path,
                              String from)
        Adds a "copy" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        from - the "from" member of the operation
        Returns:
        this JsonPatchBuilder
      • test

        JsonPatchBuilder test​(String path,
                              JsonValue value)
        Adds a "test" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • test

        JsonPatchBuilder test​(String path,
                              String value)
        Adds a "test" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • test

        JsonPatchBuilder test​(String path,
                              int value)
        Adds a "test" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • test

        JsonPatchBuilder test​(String path,
                              boolean value)
        Adds a "test" JSON Patch operation.
        Parameters:
        path - the "path" member of the operation. Must be a valid escaped JSON-Pointer string.
        value - the "value" member of the operation
        Returns:
        this JsonPatchBuilder
      • build

        JsonPatch build()
        Returns the JSON Patch.
        Returns:
        a JSON Patch