OLD | NEW |
1 // Generated by the protocol buffer compiler. DO NOT EDIT! | 1 // Generated by the protocol buffer compiler. DO NOT EDIT! |
2 // source: google/protobuf/field_mask.proto | 2 // source: google/protobuf/field_mask.proto |
3 #pragma warning disable 1591, 0612, 3021 | 3 #pragma warning disable 1591, 0612, 3021 |
4 #region Designer generated code | 4 #region Designer generated code |
5 | 5 |
6 using pb = global::Google.Protobuf; | 6 using pb = global::Google.Protobuf; |
7 using pbc = global::Google.Protobuf.Collections; | 7 using pbc = global::Google.Protobuf.Collections; |
8 using pbr = global::Google.Protobuf.Reflection; | 8 using pbr = global::Google.Protobuf.Reflection; |
9 using scg = global::System.Collections.Generic; | 9 using scg = global::System.Collections.Generic; |
10 namespace Google.Protobuf.WellKnownTypes { | 10 namespace Google.Protobuf.WellKnownTypes { |
11 | 11 |
12 /// <summary>Holder for reflection information generated from google/protobuf/
field_mask.proto</summary> | 12 /// <summary>Holder for reflection information generated from google/protobuf/
field_mask.proto</summary> |
| 13 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
13 public static partial class FieldMaskReflection { | 14 public static partial class FieldMaskReflection { |
14 | 15 |
15 #region Descriptor | 16 #region Descriptor |
16 /// <summary>File descriptor for google/protobuf/field_mask.proto</summary> | 17 /// <summary>File descriptor for google/protobuf/field_mask.proto</summary> |
17 public static pbr::FileDescriptor Descriptor { | 18 public static pbr::FileDescriptor Descriptor { |
18 get { return descriptor; } | 19 get { return descriptor; } |
19 } | 20 } |
20 private static pbr::FileDescriptor descriptor; | 21 private static pbr::FileDescriptor descriptor; |
21 | 22 |
22 static FieldMaskReflection() { | 23 static FieldMaskReflection() { |
23 byte[] descriptorData = global::System.Convert.FromBase64String( | 24 byte[] descriptorData = global::System.Convert.FromBase64String( |
24 string.Concat( | 25 string.Concat( |
25 "CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnBy", | 26 "CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnBy", |
26 "b3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUKJAQoTY29tLmdv", | 27 "b3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUJRChNjb20uZ29v", |
27 "b2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVo5Z29vZ2xlLmdvbGFu", | 28 "Z2xlLnByb3RvYnVmQg5GaWVsZE1hc2tQcm90b1ABoAEBogIDR1BCqgIeR29v", |
28 "Zy5vcmcvZ2VucHJvdG8vcHJvdG9idWYvZmllbGRfbWFzaztmaWVsZF9tYXNr", | 29 "Z2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM=")); |
29 "ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90", | |
30 "bzM=")); | |
31 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, | 30 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, |
32 new pbr::FileDescriptor[] { }, | 31 new pbr::FileDescriptor[] { }, |
33 new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { | 32 new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { |
34 new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKno
wnTypes.FieldMask), global::Google.Protobuf.WellKnownTypes.FieldMask.Parser, new
[]{ "Paths" }, null, null, null) | 33 new pbr::GeneratedClrTypeInfo(typeof(global::Google.Protobuf.WellKno
wnTypes.FieldMask), global::Google.Protobuf.WellKnownTypes.FieldMask.Parser, new
[]{ "Paths" }, null, null, null) |
35 })); | 34 })); |
36 } | 35 } |
37 #endregion | 36 #endregion |
38 | 37 |
39 } | 38 } |
40 #region Messages | 39 #region Messages |
41 /// <summary> | 40 /// <summary> |
42 /// `FieldMask` represents a set of symbolic field paths, for example: | 41 /// `FieldMask` represents a set of symbolic field paths, for example: |
43 /// | 42 /// |
44 /// paths: "f.a" | 43 /// paths: "f.a" |
45 /// paths: "f.b.d" | 44 /// paths: "f.b.d" |
46 /// | 45 /// |
47 /// Here `f` represents a field in some root message, `a` and `b` | 46 /// Here `f` represents a field in some root message, `a` and `b` |
48 /// fields in the message found in `f`, and `d` a field found in the | 47 /// fields in the message found in `f`, and `d` a field found in the |
49 /// message in `f.b`. | 48 /// message in `f.b`. |
50 /// | 49 /// |
51 /// Field masks are used to specify a subset of fields that should be | 50 /// Field masks are used to specify a subset of fields that should be |
52 /// returned by a get operation or modified by an update operation. | 51 /// returned by a get operation or modified by an update operation. |
53 /// Field masks also have a custom JSON encoding (see below). | 52 /// Field masks also have a custom JSON encoding (see below). |
54 /// | 53 /// |
55 /// # Field Masks in Projections | 54 /// # Field Masks in Projections |
56 /// | 55 /// |
57 /// When used in the context of a projection, a response message or | 56 /// When used in the context of a projection, a response message or |
58 /// sub-message is filtered by the API to only contain those fields as | 57 /// sub-message is filtered by the API to only contain those fields as |
59 /// specified in the mask. For example, if the mask in the previous | 58 /// specified in the mask. For example, if the mask in the previous |
60 /// example is applied to a response message as follows: | 59 /// example is applied to a response message as follows: |
61 /// | 60 /// |
62 /// f { | 61 /// f { |
63 /// a : 22 | 62 /// a : 22 |
64 /// b { | 63 /// b { |
65 /// d : 1 | 64 /// d : 1 |
66 /// x : 2 | 65 /// x : 2 |
67 /// } | 66 /// } |
68 /// y : 13 | 67 /// y : 13 |
69 /// } | 68 /// } |
70 /// z: 8 | 69 /// z: 8 |
71 /// | 70 /// |
72 /// The result will not contain specific values for fields x,y and z | 71 /// The result will not contain specific values for fields x,y and z |
73 /// (their value will be set to the default, and omitted in proto text | 72 /// (their value will be set to the default, and omitted in proto text |
74 /// output): | 73 /// output): |
75 /// | 74 /// |
76 /// f { | 75 /// f { |
77 /// a : 22 | 76 /// a : 22 |
78 /// b { | 77 /// b { |
79 /// d : 1 | 78 /// d : 1 |
80 /// } | 79 /// } |
81 /// } | 80 /// } |
82 /// | 81 /// |
83 /// A repeated field is not allowed except at the last position of a | 82 /// A repeated field is not allowed except at the last position of a |
84 /// paths string. | 83 /// field mask. |
85 /// | 84 /// |
86 /// If a FieldMask object is not present in a get operation, the | 85 /// If a FieldMask object is not present in a get operation, the |
87 /// operation applies to all fields (as if a FieldMask of all fields | 86 /// operation applies to all fields (as if a FieldMask of all fields |
88 /// had been specified). | 87 /// had been specified). |
89 /// | 88 /// |
90 /// Note that a field mask does not necessarily apply to the | 89 /// Note that a field mask does not necessarily apply to the |
91 /// top-level response message. In case of a REST get operation, the | 90 /// top-level response message. In case of a REST get operation, the |
92 /// field mask applies directly to the response, but in case of a REST | 91 /// field mask applies directly to the response, but in case of a REST |
93 /// list operation, the mask instead applies to each individual message | 92 /// list operation, the mask instead applies to each individual message |
94 /// in the returned resource list. In case of a REST custom method, | 93 /// in the returned resource list. In case of a REST custom method, |
95 /// other definitions may be used. Where the mask applies will be | 94 /// other definitions may be used. Where the mask applies will be |
96 /// clearly documented together with its declaration in the API. In | 95 /// clearly documented together with its declaration in the API. In |
97 /// any case, the effect on the returned resource/resources is required | 96 /// any case, the effect on the returned resource/resources is required |
98 /// behavior for APIs. | 97 /// behavior for APIs. |
99 /// | 98 /// |
100 /// # Field Masks in Update Operations | 99 /// # Field Masks in Update Operations |
101 /// | 100 /// |
102 /// A field mask in update operations specifies which fields of the | 101 /// A field mask in update operations specifies which fields of the |
103 /// targeted resource are going to be updated. The API is required | 102 /// targeted resource are going to be updated. The API is required |
104 /// to only change the values of the fields as specified in the mask | 103 /// to only change the values of the fields as specified in the mask |
105 /// and leave the others untouched. If a resource is passed in to | 104 /// and leave the others untouched. If a resource is passed in to |
106 /// describe the updated values, the API ignores the values of all | 105 /// describe the updated values, the API ignores the values of all |
107 /// fields not covered by the mask. | 106 /// fields not covered by the mask. |
108 /// | 107 /// |
109 /// If a repeated field is specified for an update operation, the existing | 108 /// In order to reset a field's value to the default, the field must |
110 /// repeated values in the target resource will be overwritten by the new valu
es. | 109 /// be in the mask and set to the default value in the provided resource. |
111 /// Note that a repeated field is only allowed in the last position of a `path
s` | 110 /// Hence, in order to reset all fields of a resource, provide a default |
112 /// string. | 111 /// instance of the resource and set all fields in the mask, or do |
| 112 /// not provide a mask as described below. |
113 /// | 113 /// |
114 /// If a sub-message is specified in the last position of the field mask for a
n | 114 /// If a field mask is not present on update, the operation applies to |
115 /// update operation, then the existing sub-message in the target resource is | 115 /// all fields (as if a field mask of all fields has been specified). |
116 /// overwritten. Given the target message: | 116 /// Note that in the presence of schema evolution, this may mean that |
| 117 /// fields the client does not know and has therefore not filled into |
| 118 /// the request will be reset to their default. If this is unwanted |
| 119 /// behavior, a specific service may require a client to always specify |
| 120 /// a field mask, producing an error if not. |
117 /// | 121 /// |
118 /// f { | 122 /// As with get operations, the location of the resource which |
119 /// b { | 123 /// describes the updated values in the request message depends on the |
120 /// d : 1 | 124 /// operation kind. In any case, the effect of the field mask is |
121 /// x : 2 | 125 /// required to be honored by the API. |
122 /// } | |
123 /// c : 1 | |
124 /// } | |
125 /// | 126 /// |
126 /// And an update message: | 127 /// ## Considerations for HTTP REST |
127 /// | 128 /// |
128 /// f { | 129 /// The HTTP kind of an update operation which uses a field mask must |
129 /// b { | 130 /// be set to PATCH instead of PUT in order to satisfy HTTP semantics |
130 /// d : 10 | 131 /// (PUT must only be used for full updates). |
131 /// } | |
132 /// } | |
133 /// | 132 /// |
134 /// then if the field mask is: | 133 /// # JSON Encoding of Field Masks |
135 /// | 134 /// |
136 /// paths: "f.b" | 135 /// In JSON, a field mask is encoded as a single string where paths are |
| 136 /// separated by a comma. Fields name in each path are converted |
| 137 /// to/from lower-camel naming conventions. |
137 /// | 138 /// |
138 /// then the result will be: | 139 /// As an example, consider the following message declarations: |
139 /// | 140 /// |
140 /// f { | 141 /// message Profile { |
141 /// b { | 142 /// User user = 1; |
142 /// d : 10 | 143 /// Photo photo = 2; |
143 /// } | 144 /// } |
144 /// c : 1 | 145 /// message User { |
145 /// } | 146 /// string display_name = 1; |
| 147 /// string address = 2; |
| 148 /// } |
146 /// | 149 /// |
147 /// However, if the update mask was: | 150 /// In proto a field mask for `Profile` may look as such: |
148 /// | 151 /// |
149 /// paths: "f.b.d" | 152 /// mask { |
| 153 /// paths: "user.display_name" |
| 154 /// paths: "photo" |
| 155 /// } |
150 /// | 156 /// |
151 /// then the result would be: | 157 /// In JSON, the same mask is represented as below: |
152 /// | 158 /// |
153 /// f { | 159 /// { |
154 /// b { | 160 /// mask: "user.displayName,photo" |
155 /// d : 10 | 161 /// } |
156 /// x : 2 | |
157 /// } | |
158 /// c : 1 | |
159 /// } | |
160 /// | 162 /// |
161 /// In order to reset a field's value to the default, the field must | 163 /// # Field Masks and Oneof Fields |
162 /// be in the mask and set to the default value in the provided resource. | |
163 /// Hence, in order to reset all fields of a resource, provide a default | |
164 /// instance of the resource and set all fields in the mask, or do | |
165 /// not provide a mask as described below. | |
166 /// | 164 /// |
167 /// If a field mask is not present on update, the operation applies to | 165 /// Field masks treat fields in oneofs just as regular fields. Consider the |
168 /// all fields (as if a field mask of all fields has been specified). | 166 /// following message: |
169 /// Note that in the presence of schema evolution, this may mean that | |
170 /// fields the client does not know and has therefore not filled into | |
171 /// the request will be reset to their default. If this is unwanted | |
172 /// behavior, a specific service may require a client to always specify | |
173 /// a field mask, producing an error if not. | |
174 /// | 167 /// |
175 /// As with get operations, the location of the resource which | 168 /// message SampleMessage { |
176 /// describes the updated values in the request message depends on the | 169 /// oneof test_oneof { |
177 /// operation kind. In any case, the effect of the field mask is | 170 /// string name = 4; |
178 /// required to be honored by the API. | 171 /// SubMessage sub_message = 9; |
| 172 /// } |
| 173 /// } |
179 /// | 174 /// |
180 /// ## Considerations for HTTP REST | 175 /// The field mask can be: |
181 /// | 176 /// |
182 /// The HTTP kind of an update operation which uses a field mask must | 177 /// mask { |
183 /// be set to PATCH instead of PUT in order to satisfy HTTP semantics | 178 /// paths: "name" |
184 /// (PUT must only be used for full updates). | 179 /// } |
185 /// | 180 /// |
186 /// # JSON Encoding of Field Masks | 181 /// Or: |
187 /// | 182 /// |
188 /// In JSON, a field mask is encoded as a single string where paths are | 183 /// mask { |
189 /// separated by a comma. Fields name in each path are converted | 184 /// paths: "sub_message" |
190 /// to/from lower-camel naming conventions. | 185 /// } |
191 /// | 186 /// |
192 /// As an example, consider the following message declarations: | 187 /// Note that oneof type names ("test_oneof" in this case) cannot be used in |
193 /// | 188 /// paths. |
194 /// message Profile { | |
195 /// User user = 1; | |
196 /// Photo photo = 2; | |
197 /// } | |
198 /// message User { | |
199 /// string display_name = 1; | |
200 /// string address = 2; | |
201 /// } | |
202 /// | |
203 /// In proto a field mask for `Profile` may look as such: | |
204 /// | |
205 /// mask { | |
206 /// paths: "user.display_name" | |
207 /// paths: "photo" | |
208 /// } | |
209 /// | |
210 /// In JSON, the same mask is represented as below: | |
211 /// | |
212 /// { | |
213 /// mask: "user.displayName,photo" | |
214 /// } | |
215 /// | |
216 /// # Field Masks and Oneof Fields | |
217 /// | |
218 /// Field masks treat fields in oneofs just as regular fields. Consider the | |
219 /// following message: | |
220 /// | |
221 /// message SampleMessage { | |
222 /// oneof test_oneof { | |
223 /// string name = 4; | |
224 /// SubMessage sub_message = 9; | |
225 /// } | |
226 /// } | |
227 /// | |
228 /// The field mask can be: | |
229 /// | |
230 /// mask { | |
231 /// paths: "name" | |
232 /// } | |
233 /// | |
234 /// Or: | |
235 /// | |
236 /// mask { | |
237 /// paths: "sub_message" | |
238 /// } | |
239 /// | |
240 /// Note that oneof type names ("test_oneof" in this case) cannot be used in | |
241 /// paths. | |
242 /// </summary> | 189 /// </summary> |
| 190 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
243 public sealed partial class FieldMask : pb::IMessage<FieldMask> { | 191 public sealed partial class FieldMask : pb::IMessage<FieldMask> { |
244 private static readonly pb::MessageParser<FieldMask> _parser = new pb::Messa
geParser<FieldMask>(() => new FieldMask()); | 192 private static readonly pb::MessageParser<FieldMask> _parser = new pb::Messa
geParser<FieldMask>(() => new FieldMask()); |
245 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
246 public static pb::MessageParser<FieldMask> Parser { get { return _parser; }
} | 193 public static pb::MessageParser<FieldMask> Parser { get { return _parser; }
} |
247 | 194 |
248 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
249 public static pbr::MessageDescriptor Descriptor { | 195 public static pbr::MessageDescriptor Descriptor { |
250 get { return global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.De
scriptor.MessageTypes[0]; } | 196 get { return global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.De
scriptor.MessageTypes[0]; } |
251 } | 197 } |
252 | 198 |
253 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
254 pbr::MessageDescriptor pb::IMessage.Descriptor { | 199 pbr::MessageDescriptor pb::IMessage.Descriptor { |
255 get { return Descriptor; } | 200 get { return Descriptor; } |
256 } | 201 } |
257 | 202 |
258 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
259 public FieldMask() { | 203 public FieldMask() { |
260 OnConstruction(); | 204 OnConstruction(); |
261 } | 205 } |
262 | 206 |
263 partial void OnConstruction(); | 207 partial void OnConstruction(); |
264 | 208 |
265 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
266 public FieldMask(FieldMask other) : this() { | 209 public FieldMask(FieldMask other) : this() { |
267 paths_ = other.paths_.Clone(); | 210 paths_ = other.paths_.Clone(); |
268 } | 211 } |
269 | 212 |
270 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
271 public FieldMask Clone() { | 213 public FieldMask Clone() { |
272 return new FieldMask(this); | 214 return new FieldMask(this); |
273 } | 215 } |
274 | 216 |
275 /// <summary>Field number for the "paths" field.</summary> | 217 /// <summary>Field number for the "paths" field.</summary> |
276 public const int PathsFieldNumber = 1; | 218 public const int PathsFieldNumber = 1; |
277 private static readonly pb::FieldCodec<string> _repeated_paths_codec | 219 private static readonly pb::FieldCodec<string> _repeated_paths_codec |
278 = pb::FieldCodec.ForString(10); | 220 = pb::FieldCodec.ForString(10); |
279 private readonly pbc::RepeatedField<string> paths_ = new pbc::RepeatedField<
string>(); | 221 private readonly pbc::RepeatedField<string> paths_ = new pbc::RepeatedField<
string>(); |
280 /// <summary> | 222 /// <summary> |
281 /// The set of field mask paths. | 223 /// The set of field mask paths. |
282 /// </summary> | 224 /// </summary> |
283 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
284 public pbc::RepeatedField<string> Paths { | 225 public pbc::RepeatedField<string> Paths { |
285 get { return paths_; } | 226 get { return paths_; } |
286 } | 227 } |
287 | 228 |
288 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
289 public override bool Equals(object other) { | 229 public override bool Equals(object other) { |
290 return Equals(other as FieldMask); | 230 return Equals(other as FieldMask); |
291 } | 231 } |
292 | 232 |
293 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
294 public bool Equals(FieldMask other) { | 233 public bool Equals(FieldMask other) { |
295 if (ReferenceEquals(other, null)) { | 234 if (ReferenceEquals(other, null)) { |
296 return false; | 235 return false; |
297 } | 236 } |
298 if (ReferenceEquals(other, this)) { | 237 if (ReferenceEquals(other, this)) { |
299 return true; | 238 return true; |
300 } | 239 } |
301 if(!paths_.Equals(other.paths_)) return false; | 240 if(!paths_.Equals(other.paths_)) return false; |
302 return true; | 241 return true; |
303 } | 242 } |
304 | 243 |
305 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
306 public override int GetHashCode() { | 244 public override int GetHashCode() { |
307 int hash = 1; | 245 int hash = 1; |
308 hash ^= paths_.GetHashCode(); | 246 hash ^= paths_.GetHashCode(); |
309 return hash; | 247 return hash; |
310 } | 248 } |
311 | 249 |
312 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
313 public override string ToString() { | 250 public override string ToString() { |
314 return pb::JsonFormatter.ToDiagnosticString(this); | 251 return pb::JsonFormatter.ToDiagnosticString(this); |
315 } | 252 } |
316 | 253 |
317 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
318 public void WriteTo(pb::CodedOutputStream output) { | 254 public void WriteTo(pb::CodedOutputStream output) { |
319 paths_.WriteTo(output, _repeated_paths_codec); | 255 paths_.WriteTo(output, _repeated_paths_codec); |
320 } | 256 } |
321 | 257 |
322 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
323 public int CalculateSize() { | 258 public int CalculateSize() { |
324 int size = 0; | 259 int size = 0; |
325 size += paths_.CalculateSize(_repeated_paths_codec); | 260 size += paths_.CalculateSize(_repeated_paths_codec); |
326 return size; | 261 return size; |
327 } | 262 } |
328 | 263 |
329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
330 public void MergeFrom(FieldMask other) { | 264 public void MergeFrom(FieldMask other) { |
331 if (other == null) { | 265 if (other == null) { |
332 return; | 266 return; |
333 } | 267 } |
334 paths_.Add(other.paths_); | 268 paths_.Add(other.paths_); |
335 } | 269 } |
336 | 270 |
337 [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | |
338 public void MergeFrom(pb::CodedInputStream input) { | 271 public void MergeFrom(pb::CodedInputStream input) { |
339 uint tag; | 272 uint tag; |
340 while ((tag = input.ReadTag()) != 0) { | 273 while ((tag = input.ReadTag()) != 0) { |
341 switch(tag) { | 274 switch(tag) { |
342 default: | 275 default: |
343 input.SkipLastField(); | 276 input.SkipLastField(); |
344 break; | 277 break; |
345 case 10: { | 278 case 10: { |
346 paths_.AddEntriesFrom(input, _repeated_paths_codec); | 279 paths_.AddEntriesFrom(input, _repeated_paths_codec); |
347 break; | 280 break; |
348 } | 281 } |
349 } | 282 } |
350 } | 283 } |
351 } | 284 } |
352 | 285 |
353 } | 286 } |
354 | 287 |
355 #endregion | 288 #endregion |
356 | 289 |
357 } | 290 } |
358 | 291 |
359 #endregion Designer generated code | 292 #endregion Designer generated code |
OLD | NEW |