Package javax.json

Interface JsonPatchBuilder


  • public interface JsonPatchBuilder
    TODO this is a final class in the spec, but that makes no sense. This class can be used to easily create JsonPatches. To get an instance use Json.createPatchBuilder() or Json.createPatchBuilder(JsonArray) The order of the operations corresponds to the order they are builded.

    NOTICE: A JsonPatchBuilder contains state and therefore is NOT threadsafe and should not be used concurrently.

    The following JsonPatch

         "[
             {
               "op": "add",
               "path": "/add/object",
               "value": {
                 "foo": "bar"
               }
             },
             {
               "op": "remove",
               "path": "/remove/it"
             },
             {
               "op": "move",
               "path": "move/to",
               "from": "move/from"
             }
         ]"
     
    can be build with the JsonPatchBuilder
    
         JsonPatch patch = Json.createJsonPatchBuilder()
                               .add("/add/object", Json.createObjectBuilder()
                                                       .add("foo", "bar")
                                                       .build())
                               .remove("/remove/it")
                               .move("/move/to", "move/from")
                               .build();
    
     

    An instance of a JsonPatchBuilder can be reused for another JsonPatch after the build()-Method was called.