FieldMask.pbobjc.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. // Generated by the protocol buffer compiler. DO NOT EDIT!
  2. // source: google/protobuf/field_mask.proto
  3. #import "GPBProtocolBuffers.h"
  4. #if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000
  5. #error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources.
  6. #endif
  7. // @@protoc_insertion_point(imports)
  8. CF_EXTERN_C_BEGIN
  9. NS_ASSUME_NONNULL_BEGIN
  10. #pragma mark - GPBFieldMaskRoot
  11. @interface GPBFieldMaskRoot : GPBRootObject
  12. // The base class provides:
  13. // + (GPBExtensionRegistry *)extensionRegistry;
  14. // which is an GPBExtensionRegistry that includes all the extensions defined by
  15. // this file and all files that it depends on.
  16. @end
  17. #pragma mark - GPBFieldMask
  18. typedef GPB_ENUM(GPBFieldMask_FieldNumber) {
  19. GPBFieldMask_FieldNumber_PathsArray = 1,
  20. };
  21. // `FieldMask` represents a set of symbolic field paths, for example:
  22. //
  23. // paths: "f.a"
  24. // paths: "f.b.d"
  25. //
  26. // Here `f` represents a field in some root message, `a` and `b`
  27. // fields in the message found in `f`, and `d` a field found in the
  28. // message in `f.b`.
  29. //
  30. // Field masks are used to specify a subset of fields that should be
  31. // returned by a get operation or modified by an update operation.
  32. // Field masks also have a custom JSON encoding (see below).
  33. //
  34. // # Field Masks in Projections
  35. // When used in the context of a projection, a response message or
  36. // sub-message is filtered by the API to only contain those fields as
  37. // specified in the mask. For example, if the mask in the previous
  38. // example is applied to a response message as follows:
  39. //
  40. // f {
  41. // a : 22
  42. // b {
  43. // d : 1
  44. // x : 2
  45. // }
  46. // y : 13
  47. // }
  48. // z: 8
  49. //
  50. // The result will not contain specific values for fields x,y and z
  51. // (there value will be set to the default, and omitted in proto text
  52. // output):
  53. //
  54. //
  55. // f {
  56. // a : 22
  57. // b {
  58. // d : 1
  59. // }
  60. // }
  61. //
  62. // A repeated field is not allowed except at the last position of a
  63. // field mask.
  64. //
  65. // If a FieldMask object is not present in a get operation, the
  66. // operation applies to all fields (as if a FieldMask of all fields
  67. // had been specified).
  68. //
  69. // Note that a field mask does not necessarily applies to the
  70. // top-level response message. In case of a REST get operation, the
  71. // field mask applies directly to the response, but in case of a REST
  72. // list operation, the mask instead applies to each individual message
  73. // in the returned resource list. In case of a REST custom method,
  74. // other definitions may be used. Where the mask applies will be
  75. // clearly documented together with its declaration in the API. In
  76. // any case, the effect on the returned resource/resources is required
  77. // behavior for APIs.
  78. //
  79. // # Field Masks in Update Operations
  80. // A field mask in update operations specifies which fields of the
  81. // targeted resource are going to be updated. The API is required
  82. // to only change the values of the fields as specified in the mask
  83. // and leave the others untouched. If a resource is passed in to
  84. // describe the updated values, the API ignores the values of all
  85. // fields not covered by the mask.
  86. //
  87. // In order to reset a field's value to the default, the field must
  88. // be in the mask and set to the default value in the provided resource.
  89. // Hence, in order to reset all fields of a resource, provide a default
  90. // instance of the resource and set all fields in the mask, or do
  91. // not provide a mask as described below.
  92. //
  93. // If a field mask is not present on update, the operation applies to
  94. // all fields (as if a field mask of all fields has been specified).
  95. // Note that in the presence of schema evolution, this may mean that
  96. // fields the client does not know and has therefore not filled into
  97. // the request will be reset to their default. If this is unwanted
  98. // behavior, a specific service may require a client to always specify
  99. // a field mask, producing an error if not.
  100. //
  101. // As with get operations, the location of the resource which
  102. // describes the updated values in the request message depends on the
  103. // operation kind. In any case, the effect of the field mask is
  104. // required to be honored by the API.
  105. //
  106. // ## Considerations for HTTP REST
  107. // The HTTP kind of an update operation which uses a field mask must
  108. // be set to PATCH instead of PUT in order to satisfy HTTP semantics
  109. // (PUT must only be used for full updates).
  110. //
  111. // # JSON Encoding of Field Masks
  112. // In JSON, a field mask is encoded as a single string where paths are
  113. // separated by a comma. Fields name in each path are converted
  114. // to/from lower-camel naming conventions.
  115. //
  116. // As an example, consider the following message declarations:
  117. //
  118. // message Profile {
  119. // User user = 1;
  120. // Photo photo = 2;
  121. // }
  122. // message User {
  123. // string display_name = 1;
  124. // string address = 2;
  125. // }
  126. //
  127. // In proto a field mask for `Profile` may look as such:
  128. //
  129. // mask {
  130. // paths: "user.display_name"
  131. // paths: "photo"
  132. // }
  133. //
  134. // In JSON, the same mask is represented as below:
  135. //
  136. // {
  137. // mask: "user.displayName,photo"
  138. // }
  139. @interface GPBFieldMask : GPBMessage
  140. // The set of field mask paths.
  141. // |pathsArray| contains |NSString|
  142. @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *pathsArray;
  143. @property(nonatomic, readonly) NSUInteger pathsArray_Count;
  144. @end
  145. NS_ASSUME_NONNULL_END
  146. CF_EXTERN_C_END
  147. // @@protoc_insertion_point(global_scope)