- java.lang.Object
-
- org.glassfish.json.JsonPatchBuilderImpl
-
- All Implemented Interfaces:
JsonPatchBuilder
public final class JsonPatchBuilderImpl extends Object implements JsonPatchBuilder
A builder for constructing a JSON Patch 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
-
-
Constructor Summary
Constructors Constructor Description JsonPatchBuilderImpl()Creates JsonPatchBuilderImpl with empty JSON PatchJsonPatchBuilderImpl(JsonArray patch)Creates a JsonPatchBuilderImpl, starting with the specified JSON Patch
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JsonPatchBuilderadd(String path, boolean value)Adds an "add" JSON Patch operationJsonPatchBuilderadd(String path, int value)Adds an "add" JSON Patch operationJsonPatchBuilderadd(String path, JsonValue value)Adds an "add" JSON Patch operation.JsonPatchBuilderadd(String path, String value)Adds an "add" JSON Patch operation<T extends JsonStructure>
Tapply(T target)A convenience method fornew JsonPatchImpl(build()).apply(target).JsonPatchbuild()Returns the patch operation in a JsonPatchJsonArraybuildAsJsonArray()Returns the patch operations in a JsonArrayJsonPatchBuildercopy(String path, String from)Adds a "copy" JSON Patch operation.JsonPatchBuildermove(String path, String from)Adds a "move" JSON Patch operation.JsonPatchBuilderremove(String path)Adds a "remove" JSON Patch operation.JsonPatchBuilderreplace(String path, boolean value)Adds a "replace" JSON Patch operation.JsonPatchBuilderreplace(String path, int value)Adds a "replace" JSON Patch operation.JsonPatchBuilderreplace(String path, JsonValue value)Adds a "replace" JSON Patch operation.JsonPatchBuilderreplace(String path, String value)Adds a "replace" JSON Patch operation.JsonPatchBuildertest(String path, boolean value)Adds a "test" JSON Patch operation.JsonPatchBuildertest(String path, int value)Adds a "test" JSON Patch operation.JsonPatchBuildertest(String path, JsonValue value)Adds a "test" JSON Patch operation.JsonPatchBuildertest(String path, String value)Adds a "test" JSON Patch operation.
-
-
-
Constructor Detail
-
JsonPatchBuilderImpl
public JsonPatchBuilderImpl(JsonArray patch)
Creates a JsonPatchBuilderImpl, starting with the specified JSON Patch- Parameters:
patch- the JSON Patch
-
JsonPatchBuilderImpl
public JsonPatchBuilderImpl()
Creates JsonPatchBuilderImpl with empty JSON Patch
-
-
Method Detail
-
apply
public <T extends JsonStructure> T apply(T target)
A convenience method fornew JsonPatchImpl(build()).apply(target). 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
-
add
public JsonPatchBuilder add(String path, JsonValue value)
Adds an "add" JSON Patch operation.- Specified by:
addin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
add
public JsonPatchBuilder add(String path, String value)
Adds an "add" JSON Patch operation- Specified by:
addin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
add
public JsonPatchBuilder add(String path, int value)
Adds an "add" JSON Patch operation- Specified by:
addin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
add
public JsonPatchBuilder add(String path, boolean value)
Adds an "add" JSON Patch operation- Specified by:
addin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
remove
public JsonPatchBuilder remove(String path)
Adds a "remove" JSON Patch operation.- Specified by:
removein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operation- Returns:
- this JsonPatchBuilder
-
replace
public JsonPatchBuilder replace(String path, JsonValue value)
Adds a "replace" JSON Patch operation.- Specified by:
replacein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
replace
public JsonPatchBuilder replace(String path, String value)
Adds a "replace" JSON Patch operation.- Specified by:
replacein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
replace
public JsonPatchBuilder replace(String path, int value)
Adds a "replace" JSON Patch operation.- Specified by:
replacein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
replace
public JsonPatchBuilder replace(String path, boolean value)
Adds a "replace" JSON Patch operation.- Specified by:
replacein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
move
public JsonPatchBuilder move(String path, String from)
Adds a "move" JSON Patch operation.- Specified by:
movein interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationfrom- the "from" member of the operation- Returns:
- this JsonPatchBuilder
-
copy
public JsonPatchBuilder copy(String path, String from)
Adds a "copy" JSON Patch operation.- Specified by:
copyin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationfrom- the "from" member of the operation- Returns:
- this JsonPatchBuilder
-
test
public JsonPatchBuilder test(String path, JsonValue value)
Adds a "test" JSON Patch operation.- Specified by:
testin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
test
public JsonPatchBuilder test(String path, String value)
Adds a "test" JSON Patch operation.- Specified by:
testin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
test
public JsonPatchBuilder test(String path, int value)
Adds a "test" JSON Patch operation.- Specified by:
testin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
test
public JsonPatchBuilder test(String path, boolean value)
Adds a "test" JSON Patch operation.- Specified by:
testin interfaceJsonPatchBuilder- Parameters:
path- the "path" member of the operationvalue- the "value" member of the operation- Returns:
- this JsonPatchBuilder
-
buildAsJsonArray
public JsonArray buildAsJsonArray()
Returns the patch operations in a JsonArray- Returns:
- the patch operations in a JsonArray
-
build
public JsonPatch build()
Returns the patch operation in a JsonPatch- Specified by:
buildin interfaceJsonPatchBuilder- Returns:
- the patch operation in a JsonPatch
-
-