com.clarifai.grpc.api.PatchActionOrBuilder Maven / Gradle / Ivy
The newest version!
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: proto/clarifai/api/resources.proto
package com.clarifai.grpc.api;
public interface PatchActionOrBuilder extends
// @@protoc_insertion_point(interface_extends:clarifai.api.PatchAction)
com.google.protobuf.MessageOrBuilder {
/**
*
* The operation to perform on the patched metadata given a path
* For now only operations 'overwrite', 'delete, and 'merge' is supported
*
*
* string op = 1;
* @return The op.
*/
java.lang.String getOp();
/**
*
* The operation to perform on the patched metadata given a path
* For now only operations 'overwrite', 'delete, and 'merge' is supported
*
*
* string op = 1;
* @return The bytes for op.
*/
com.google.protobuf.ByteString
getOpBytes();
/**
*
* If the action is 'merge' and there is a conflict, how to resolve it.
* The options are
* 'overwrite_by_id', 'remove_by_id', 'merge_by_id','overwrite', 'append' and 'do_nothing'
* Note that for conflict resolutions '*_by_id' to work on a list, the list should contain
* objects with an 'id' field which will be used to uniquely identify each field. For example
* Patching existing json
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": 2
* }
* ]
* }
* with op 'merge' and merge_conflict_resolution 'overwrite_by_id'
* {
* "tag": [
* {
* "id": "2",
* "data": 3
* }
* ]
* }
* would produce
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": 3
* }
* ]
* }
* while with merge_conflict_resolution 'remove_by_id' it would produce
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* }
* ]
* }
* Option 'append' will simply create a list on conflicts. For example in above example
* the final result would be
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": [2, 3]
* }
* ]
* }
*
*
* string merge_conflict_resolution = 2;
* @return The mergeConflictResolution.
*/
java.lang.String getMergeConflictResolution();
/**
*
* If the action is 'merge' and there is a conflict, how to resolve it.
* The options are
* 'overwrite_by_id', 'remove_by_id', 'merge_by_id','overwrite', 'append' and 'do_nothing'
* Note that for conflict resolutions '*_by_id' to work on a list, the list should contain
* objects with an 'id' field which will be used to uniquely identify each field. For example
* Patching existing json
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": 2
* }
* ]
* }
* with op 'merge' and merge_conflict_resolution 'overwrite_by_id'
* {
* "tag": [
* {
* "id": "2",
* "data": 3
* }
* ]
* }
* would produce
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": 3
* }
* ]
* }
* while with merge_conflict_resolution 'remove_by_id' it would produce
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* }
* ]
* }
* Option 'append' will simply create a list on conflicts. For example in above example
* the final result would be
* {
* "tag": [
* {
* "id": "1",
* "data": 1
* },
* {
* "id": "2",
* "data": [2, 3]
* }
* ]
* }
*
*
* string merge_conflict_resolution = 2;
* @return The bytes for mergeConflictResolution.
*/
com.google.protobuf.ByteString
getMergeConflictResolutionBytes();
/**
*
* Path for the change. For example 'tag[1].data' is a valid path in above example.
* Default path is root level i.e. ''.
*
*
* string path = 3;
* @return The path.
*/
java.lang.String getPath();
/**
*
* Path for the change. For example 'tag[1].data' is a valid path in above example.
* Default path is root level i.e. ''.
*
*
* string path = 3;
* @return The bytes for path.
*/
com.google.protobuf.ByteString
getPathBytes();
}