/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }
/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }
/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Replaces the value at the referenced location in the specified * {@code target} with the specified {@code value}. * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be stored at the referenced location * @return the transformed {@code target} after the value is replaced. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure replace(JsonStructure target, JsonValue value) { return execute(NodeReference::replace, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Adds or replaces a value at the referenced location in the specified * {@code target} with the specified {@code value}. * <ol> * <li>If the reference is the target (empty JSON Pointer string), * the specified {@code value}, which must be the same type as * specified {@code target}, is returned.</li> * <li>If the reference is an array element, the specified {@code value} is inserted * into the array, at the referenced index. The value currently at that location, and * any subsequent values, are shifted to the right (adds one to the indices). * Index starts with 0. If the reference is specified with a "-", or if the * index is equal to the size of the array, the value is appended to the array.</li> * <li>If the reference is a name/value pair of a {@code JsonObject}, and the * referenced value exists, the value is replaced by the specified {@code value}. * If the value does not exist, a new name/value pair is added to the object.</li> * </ol> * * @param target the target referenced by this {@code JsonPointer} * @param value the value to be added * @return the transformed {@code target} after the value is added. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the reference is an array element and * the index is out of range ({@code index < 0 || index > array size}), * or if the pointer contains references to non-existing objects or arrays. */ @Override public JsonStructure add(JsonStructure target, JsonValue value) { return execute(NodeReference::add, target, value); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }
/** * Removes the value at the reference location in the specified {@code target} * * @param target the target referenced by this {@code JsonPointer} * @return the transformed {@code target} after the value is removed. * @throws NullPointerException if {@code target} is {@code null} * @throws JsonException if the referenced value does not exist, * or if the reference is the target. */ @Override public JsonStructure remove(JsonStructure target) { return execute((r,v)->r.remove(), target, null); }