-
- All Known Implementing Classes:
JsonPatchImpl
public interface JsonPatch
This interface represents an immutable implementation of a JSON Patch as defined by RFC 6902.
A
The following illustrates both approaches.JsonPatch
can be instantiated withJson.createPatch(JsonArray)
by specifying the patch operations in a JSON Patch. Alternately, it can also be constructed with aJsonPatchBuilder
.1. Construct a JsonPatch with a JSON Patch.
2. Construct a JsonPatch with JsonPatchBuilder.JsonArray contacts = ... // The target to be patched JsonArray patch = ... ; // JSON Patch JsonPatch jsonpatch = Json.createPatch(patch); JsonArray result = jsonpatch.apply(contacts);
JsonPatchBuilder builder = Json.createPatchBuilder(); JsonArray result = builder.add("/John/phones/office", "1234-567") .remove("/Amy/age") .build() .apply(contacts);
- Since:
- 1.1
- See Also:
- RFC 6902
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
JsonPatch.Operation
This enum represents the list of valid JSON Patch operations as defined by RFC 6902.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T extends JsonStructure>
Tapply(T target)
Applies the patch operations to the specifiedtarget
.JsonArray
toJsonArray()
Returns theJsonPatch
asJsonArray
.
-
-
-
Method Detail
-
apply
<T extends JsonStructure> T apply(T target)
Applies the patch operations to the specifiedtarget
. The target is not modified by the patch.- Type Parameters:
T
- the target type, must be a subtype ofJsonStructure
- Parameters:
target
- the target to apply the patch operations- Returns:
- the transformed target after the patch
- Throws:
JsonException
- if the supplied JSON Patch is malformed or if it contains references to non-existing members
-
toJsonArray
JsonArray toJsonArray()
Returns theJsonPatch
asJsonArray
.- Returns:
- this
JsonPatch
asJsonArray
-
-