Package javax.json

Enum JsonPatch.Operation

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<JsonPatch.Operation>
    Enclosing interface:
    JsonPatch

    public static enum JsonPatch.Operation
    extends java.lang.Enum<JsonPatch.Operation>

    An enumeration of available operations for JsonPatch.

    NOTICE: the behavoir of some operations depends on which JsonValue they are performed. for details please check the documentation of the very operation.

    Since:
    1.1
    See Also:
    RFC-6902
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ADD
      required members are: "op": "add" "path": "path/to/add" "value": "JsonValueToAdd"
      COPY
      required members are: "op": "copy" "from": "path/to/copy/from" "path": "path/to/add"
      MOVE
      required members are: "op": "move" "from": "path/to/move/from" "path": "path/to/move/to"
      REMOVE
      required members are: "op": "remove" "path": "path/to/remove"
      REPLACE
      required members are: "op": "replace" "path": "path/to/replace" "value": "the new JsonValue"
      TEST
      required members are: "op": "test" "path": "/path/to/test" "value": "JsonValue to test"
    • Enum Constant Detail

      • ADD

        public static final JsonPatch.Operation ADD

        required members are:

        • "op": "add"
        • "path": "path/to/add"
        • "value": "JsonValueToAdd"

        if the "path/to" does not exist, this operation will result in an error.
        if the "path/to/add" already exists, the value will be replaced

        for JsonArrays the new value will be inserted at the specified index and the element(s) at/after are shifted to the right. the '-' character is used to append the value at the and of the JsonArray.

      • REMOVE

        public static final JsonPatch.Operation REMOVE

        required members are:

        • "op": "remove"
        • "path": "path/to/remove"

        if the "path/to/remove" does not exist, the operation will fail.

        for JsonArrays the values after the removed value are shifted to the left

      • REPLACE

        public static final JsonPatch.Operation REPLACE

        required members are:

        • "op": "replace"
        • "path": "path/to/replace"
        • "value": "the new JsonValue"

        this operation is identical to REMOVE followed by ADD

      • MOVE

        public static final JsonPatch.Operation MOVE

        required members are:

        • "op": "move"
        • "from": "path/to/move/from"
        • "path": "path/to/move/to"

        the operation will fail it the "path/to/move/from" does not exist

        NOTICE: a location can not be moved into one of it's children. (from /a/b/c to /a/b/c/d)

        this operation is identical to REMOVE from "from" and ADD to the "path"

      • COPY

        public static final JsonPatch.Operation COPY

        required members are:

        • "op": "copy"
        • "from": "path/to/copy/from"
        • "path": "path/to/add"

        the operation will result in an error if the "from" location does not exist

        this operation is identical to ADD with the "from" value

      • TEST

        public static final JsonPatch.Operation TEST

        required members are:

        • "op": "test"
        • "path": "/path/to/test"
        • "value": "JsonValue to test"

        this operation fails, if the value is NOT equal with the /path/to/test

        ordering of the elements in a JsonObject is NOT significant however the position of an element in a JsonArray is significant for equality.

    • Method Detail

      • values

        public static JsonPatch.Operation[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (JsonPatch.Operation c : JsonPatch.Operation.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static JsonPatch.Operation valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • operationName

        public java.lang.String operationName()
        Returns:
        the JSON operation name