Proto2MessageLiteFactory.java
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 package com.google.protobuf;
32 
33 import com.google.protobuf.testing.Proto2TestingLite.Proto2MessageLite;
34 import com.google.protobuf.testing.Proto2TestingLite.Proto2MessageLiteWithMaps;
35 import java.util.ArrayList;
36 import java.util.HashMap;
37 import java.util.List;
38 import java.util.Map;
39 
41 public final class Proto2MessageLiteFactory
42  implements ExperimentalMessageFactory<Proto2MessageLite> {
43  private final int numRepeatedFields;
44  private final int branchingFactor;
47 
49  int numRepeatedFields, int stringLength, int branchingFactor, int treeDepth) {
50  this(
51  new ExperimentalTestDataProvider(stringLength),
54  treeDepth);
55  }
56 
60  int branchingFactor,
61  int treeDepth) {
62  this.numRepeatedFields = numRepeatedFields;
63  this.branchingFactor = branchingFactor;
64  this.data = data;
65  if (treeDepth > 0) {
66  nextLevel =
68  } else {
69  nextLevel = null;
70  }
71  }
72 
73  @Override
75  return data;
76  }
77 
78  @Override
79  public Proto2MessageLite newMessage() {
80  Proto2MessageLite.Builder builder = Proto2MessageLite.newBuilder();
81  builder.setFieldDouble1(data.getDouble());
82  builder.setFieldFloat2(data.getFloat());
83  builder.setFieldInt643(data.getLong());
84  builder.setFieldUint644(data.getLong());
85  builder.setFieldInt325(data.getInt());
86  builder.setFieldFixed646(data.getLong());
87  builder.setFieldFixed327(data.getInt());
88  builder.setFieldBool8(data.getBool());
89  builder.setFieldString9(data.getString());
90  // We don't populate the message field. Instead we apply the branching factor to the
91  // repeated message field below.
92  builder.setFieldBytes11(data.getBytes());
93  builder.setFieldUint3212(data.getInt());
94  builder.setFieldEnum13(Proto2MessageLite.TestEnum.forNumber(data.getEnum()));
95  builder.setFieldSfixed3214(data.getInt());
96  builder.setFieldSfixed6415(data.getLong());
97  builder.setFieldSint3216(data.getInt());
98  builder.setFieldSint6417(data.getLong());
99 
100  for (int i = 0; i < numRepeatedFields; ++i) {
101  builder.addFieldDoubleList18(data.getDouble());
102  builder.addFieldFloatList19(data.getFloat());
103  builder.addFieldInt64List20(data.getLong());
104  builder.addFieldUint64List21(data.getLong());
105  builder.addFieldInt32List22(data.getInt());
106  builder.addFieldFixed64List23(data.getLong());
107  builder.addFieldFixed32List24(data.getInt());
108  builder.addFieldBoolList25(data.getBool());
109  builder.addFieldStringList26(data.getString());
110  // Repeated message field is controlled by the branching factor below.
111  builder.addFieldBytesList28(data.getBytes());
112  builder.addFieldUint32List29(data.getInt());
113  builder.addFieldEnumList30(Proto2MessageLite.TestEnum.forNumber(data.getEnum()));
114  builder.addFieldSfixed32List31(data.getInt());
115  builder.addFieldSfixed64List32(data.getLong());
116  builder.addFieldSint32List33(data.getInt());
117  builder.addFieldSint64List34(data.getLong());
118 
119  builder.addFieldDoubleListPacked35(data.getDouble());
120  builder.addFieldFloatListPacked36(data.getFloat());
121  builder.addFieldInt64ListPacked37(data.getLong());
122  builder.addFieldUint64ListPacked38(data.getLong());
123  builder.addFieldInt32ListPacked39(data.getInt());
124  builder.addFieldFixed64ListPacked40(data.getLong());
125  builder.addFieldFixed32ListPacked41(data.getInt());
126  builder.addFieldBoolListPacked42(data.getBool());
127  builder.addFieldUint32ListPacked43(data.getInt());
128  builder.addFieldEnumListPacked44(Proto2MessageLite.TestEnum.forNumber(data.getEnum()));
129  builder.addFieldSfixed32ListPacked45(data.getInt());
130  builder.addFieldSfixed64ListPacked46(data.getLong());
131  builder.addFieldSint32ListPacked47(data.getInt());
132  builder.addFieldSint64ListPacked48(data.getLong());
133  }
134 
135  builder.setFieldGroup49(
136  Proto2MessageLite.FieldGroup49.newBuilder().setFieldInt3250(data.getInt()));
137 
138  for (int i = 0; i < branchingFactor; ++i) {
139  builder.addFieldGroupList51(
140  Proto2MessageLite.FieldGroupList51.newBuilder().setFieldInt3252(data.getInt()));
141  }
142 
143  // Set all required fields.
145 
146  // Handle the branching factor.
147  if (nextLevel != null) {
148  for (int i = 0; i < branchingFactor; ++i) {
149  builder.addFieldMessageList27(nextLevel.newMessage());
150  }
151  }
152 
153  return builder.build();
154  }
155 
156  private interface MapValueProvider<T> {
157  public T getValue();
158  }
159 
162  @Override
163  public Integer getValue() {
164  return data.getInt();
165  }
166  };
168  new MapValueProvider<Long>() {
169  @Override
170  public Long getValue() {
171  return data.getLong();
172  }
173  };
176  @Override
177  public String getValue() {
178  return data.getString();
179  }
180  };
183  @Override
184  public ByteString getValue() {
185  return data.getBytes();
186  }
187  };
190  @Override
191  public Boolean getValue() {
192  return data.getBool();
193  }
194  };
197  @Override
198  public Float getValue() {
199  return data.getFloat();
200  }
201  };
204  @Override
205  public Double getValue() {
206  return data.getDouble();
207  }
208  };
211  @Override
212  public Proto2MessageLite getValue() {
213  return newMessage();
214  }
215  };
216  private final MapValueProvider<Proto2MessageLite.TestEnum> enumProvider =
217  new MapValueProvider<Proto2MessageLite.TestEnum>() {
218  @Override
219  public Proto2MessageLite.TestEnum getValue() {
220  return Proto2MessageLite.TestEnum.forNumber(data.getEnum());
221  }
222  };
223 
224  private <V> Map<Integer, V> populateIntegerMap(MapValueProvider<V> provider) {
225  Map<Integer, V> map = new HashMap<>();
226  for (int i = 0; i < numRepeatedFields; ++i) {
227  map.put(data.getInt(), provider.getValue());
228  }
229  return map;
230  }
231 
232  private <V> Map<Long, V> populateLongMap(MapValueProvider<V> provider) {
233  Map<Long, V> map = new HashMap<>();
234  for (int i = 0; i < numRepeatedFields; ++i) {
235  map.put(data.getLong(), provider.getValue());
236  }
237  return map;
238  }
239 
240  private <V> Map<String, V> populateStringMap(MapValueProvider<V> provider) {
241  Map<String, V> map = new HashMap<>();
242  for (int i = 0; i < numRepeatedFields; ++i) {
243  map.put(data.getString(), provider.getValue());
244  }
245  return map;
246  }
247 
248  private <V> Map<Boolean, V> populateBooleanMap(MapValueProvider<V> provider) {
249  Map<Boolean, V> map = new HashMap<>();
250  map.put(false, provider.getValue());
251  map.put(true, provider.getValue());
252  return map;
253  }
254 
255  public Proto2MessageLiteWithMaps newMessageWithMaps() {
256  Proto2MessageLiteWithMaps.Builder builder = Proto2MessageLiteWithMaps.newBuilder();
257 
258  builder.putAllFieldMapBoolBool1(populateBooleanMap(booleanProvider));
259  builder.putAllFieldMapBoolBytes2(populateBooleanMap(bytesProvider));
260  builder.putAllFieldMapBoolDouble3(populateBooleanMap(doubleProvider));
261  builder.putAllFieldMapBoolEnum4(populateBooleanMap(enumProvider));
262  builder.putAllFieldMapBoolFixed325(populateBooleanMap(integerProvider));
263  builder.putAllFieldMapBoolFixed646(populateBooleanMap(longProvider));
264  builder.putAllFieldMapBoolFloat7(populateBooleanMap(floatProvider));
265  builder.putAllFieldMapBoolInt328(populateBooleanMap(integerProvider));
266  builder.putAllFieldMapBoolInt649(populateBooleanMap(longProvider));
267  builder.putAllFieldMapBoolMessage10(populateBooleanMap(messageProvider));
268  builder.putAllFieldMapBoolSfixed3211(populateBooleanMap(integerProvider));
269  builder.putAllFieldMapBoolSfixed6412(populateBooleanMap(longProvider));
270  builder.putAllFieldMapBoolSint3213(populateBooleanMap(integerProvider));
271  builder.putAllFieldMapBoolSint6414(populateBooleanMap(longProvider));
272  builder.putAllFieldMapBoolString15(populateBooleanMap(stringProvider));
273  builder.putAllFieldMapBoolUint3216(populateBooleanMap(integerProvider));
274  builder.putAllFieldMapBoolUint6417(populateBooleanMap(longProvider));
275  builder.putAllFieldMapFixed32Bool18(populateIntegerMap(booleanProvider));
276  builder.putAllFieldMapFixed32Bytes19(populateIntegerMap(bytesProvider));
277  builder.putAllFieldMapFixed32Double20(populateIntegerMap(doubleProvider));
278  builder.putAllFieldMapFixed32Enum21(populateIntegerMap(enumProvider));
279  builder.putAllFieldMapFixed32Fixed3222(populateIntegerMap(integerProvider));
280  builder.putAllFieldMapFixed32Fixed6423(populateIntegerMap(longProvider));
281  builder.putAllFieldMapFixed32Float24(populateIntegerMap(floatProvider));
282  builder.putAllFieldMapFixed32Int3225(populateIntegerMap(integerProvider));
283  builder.putAllFieldMapFixed32Int6426(populateIntegerMap(longProvider));
284  builder.putAllFieldMapFixed32Message27(populateIntegerMap(messageProvider));
285  builder.putAllFieldMapFixed32Sfixed3228(populateIntegerMap(integerProvider));
286  builder.putAllFieldMapFixed32Sfixed6429(populateIntegerMap(longProvider));
287  builder.putAllFieldMapFixed32Sint3230(populateIntegerMap(integerProvider));
288  builder.putAllFieldMapFixed32Sint6431(populateIntegerMap(longProvider));
289  builder.putAllFieldMapFixed32String32(populateIntegerMap(stringProvider));
290  builder.putAllFieldMapFixed32Uint3233(populateIntegerMap(integerProvider));
291  builder.putAllFieldMapFixed32Uint6434(populateIntegerMap(longProvider));
292  builder.putAllFieldMapFixed64Bool35(populateLongMap(booleanProvider));
293  builder.putAllFieldMapFixed64Bytes36(populateLongMap(bytesProvider));
294  builder.putAllFieldMapFixed64Double37(populateLongMap(doubleProvider));
295  builder.putAllFieldMapFixed64Enum38(populateLongMap(enumProvider));
296  builder.putAllFieldMapFixed64Fixed3239(populateLongMap(integerProvider));
297  builder.putAllFieldMapFixed64Fixed6440(populateLongMap(longProvider));
298  builder.putAllFieldMapFixed64Float41(populateLongMap(floatProvider));
299  builder.putAllFieldMapFixed64Int3242(populateLongMap(integerProvider));
300  builder.putAllFieldMapFixed64Int6443(populateLongMap(longProvider));
301  builder.putAllFieldMapFixed64Message44(populateLongMap(messageProvider));
302  builder.putAllFieldMapFixed64Sfixed3245(populateLongMap(integerProvider));
303  builder.putAllFieldMapFixed64Sfixed6446(populateLongMap(longProvider));
304  builder.putAllFieldMapFixed64Sint3247(populateLongMap(integerProvider));
305  builder.putAllFieldMapFixed64Sint6448(populateLongMap(longProvider));
306  builder.putAllFieldMapFixed64String49(populateLongMap(stringProvider));
307  builder.putAllFieldMapFixed64Uint3250(populateLongMap(integerProvider));
308  builder.putAllFieldMapFixed64Uint6451(populateLongMap(longProvider));
309  builder.putAllFieldMapInt32Bool52(populateIntegerMap(booleanProvider));
310  builder.putAllFieldMapInt32Bytes53(populateIntegerMap(bytesProvider));
311  builder.putAllFieldMapInt32Double54(populateIntegerMap(doubleProvider));
312  builder.putAllFieldMapInt32Enum55(populateIntegerMap(enumProvider));
313  builder.putAllFieldMapInt32Fixed3256(populateIntegerMap(integerProvider));
314  builder.putAllFieldMapInt32Fixed6457(populateIntegerMap(longProvider));
315  builder.putAllFieldMapInt32Float58(populateIntegerMap(floatProvider));
316  builder.putAllFieldMapInt32Int3259(populateIntegerMap(integerProvider));
317  builder.putAllFieldMapInt32Int6460(populateIntegerMap(longProvider));
318  builder.putAllFieldMapInt32Message61(populateIntegerMap(messageProvider));
319  builder.putAllFieldMapInt32Sfixed3262(populateIntegerMap(integerProvider));
320  builder.putAllFieldMapInt32Sfixed6463(populateIntegerMap(longProvider));
321  builder.putAllFieldMapInt32Sint3264(populateIntegerMap(integerProvider));
322  builder.putAllFieldMapInt32Sint6465(populateIntegerMap(longProvider));
323  builder.putAllFieldMapInt32String66(populateIntegerMap(stringProvider));
324  builder.putAllFieldMapInt32Uint3267(populateIntegerMap(integerProvider));
325  builder.putAllFieldMapInt32Uint6468(populateIntegerMap(longProvider));
326  builder.putAllFieldMapInt64Bool69(populateLongMap(booleanProvider));
327  builder.putAllFieldMapInt64Bytes70(populateLongMap(bytesProvider));
328  builder.putAllFieldMapInt64Double71(populateLongMap(doubleProvider));
329  builder.putAllFieldMapInt64Enum72(populateLongMap(enumProvider));
330  builder.putAllFieldMapInt64Fixed3273(populateLongMap(integerProvider));
331  builder.putAllFieldMapInt64Fixed6474(populateLongMap(longProvider));
332  builder.putAllFieldMapInt64Float75(populateLongMap(floatProvider));
333  builder.putAllFieldMapInt64Int3276(populateLongMap(integerProvider));
334  builder.putAllFieldMapInt64Int6477(populateLongMap(longProvider));
335  builder.putAllFieldMapInt64Message78(populateLongMap(messageProvider));
336  builder.putAllFieldMapInt64Sfixed3279(populateLongMap(integerProvider));
337  builder.putAllFieldMapInt64Sfixed6480(populateLongMap(longProvider));
338  builder.putAllFieldMapInt64Sint3281(populateLongMap(integerProvider));
339  builder.putAllFieldMapInt64Sint6482(populateLongMap(longProvider));
340  builder.putAllFieldMapInt64String83(populateLongMap(stringProvider));
341  builder.putAllFieldMapInt64Uint3284(populateLongMap(integerProvider));
342  builder.putAllFieldMapInt64Uint6485(populateLongMap(longProvider));
343  builder.putAllFieldMapSfixed32Bool86(populateIntegerMap(booleanProvider));
344  builder.putAllFieldMapSfixed32Bytes87(populateIntegerMap(bytesProvider));
345  builder.putAllFieldMapSfixed32Double88(populateIntegerMap(doubleProvider));
346  builder.putAllFieldMapSfixed32Enum89(populateIntegerMap(enumProvider));
347  builder.putAllFieldMapSfixed32Fixed3290(populateIntegerMap(integerProvider));
348  builder.putAllFieldMapSfixed32Fixed6491(populateIntegerMap(longProvider));
349  builder.putAllFieldMapSfixed32Float92(populateIntegerMap(floatProvider));
350  builder.putAllFieldMapSfixed32Int3293(populateIntegerMap(integerProvider));
351  builder.putAllFieldMapSfixed32Int6494(populateIntegerMap(longProvider));
352  builder.putAllFieldMapSfixed32Message95(populateIntegerMap(messageProvider));
353  builder.putAllFieldMapSfixed32Sfixed3296(populateIntegerMap(integerProvider));
354  builder.putAllFieldMapSfixed32Sfixed6497(populateIntegerMap(longProvider));
355  builder.putAllFieldMapSfixed32Sint3298(populateIntegerMap(integerProvider));
356  builder.putAllFieldMapSfixed32Sint6499(populateIntegerMap(longProvider));
357  builder.putAllFieldMapSfixed32String100(populateIntegerMap(stringProvider));
358  builder.putAllFieldMapSfixed32Uint32101(populateIntegerMap(integerProvider));
359  builder.putAllFieldMapSfixed32Uint64102(populateIntegerMap(longProvider));
360  builder.putAllFieldMapSfixed64Bool103(populateLongMap(booleanProvider));
361  builder.putAllFieldMapSfixed64Bytes104(populateLongMap(bytesProvider));
362  builder.putAllFieldMapSfixed64Double105(populateLongMap(doubleProvider));
363  builder.putAllFieldMapSfixed64Enum106(populateLongMap(enumProvider));
364  builder.putAllFieldMapSfixed64Fixed32107(populateLongMap(integerProvider));
365  builder.putAllFieldMapSfixed64Fixed64108(populateLongMap(longProvider));
366  builder.putAllFieldMapSfixed64Float109(populateLongMap(floatProvider));
367  builder.putAllFieldMapSfixed64Int32110(populateLongMap(integerProvider));
368  builder.putAllFieldMapSfixed64Int64111(populateLongMap(longProvider));
369  builder.putAllFieldMapSfixed64Message112(populateLongMap(messageProvider));
370  builder.putAllFieldMapSfixed64Sfixed32113(populateLongMap(integerProvider));
371  builder.putAllFieldMapSfixed64Sfixed64114(populateLongMap(longProvider));
372  builder.putAllFieldMapSfixed64Sint32115(populateLongMap(integerProvider));
373  builder.putAllFieldMapSfixed64Sint64116(populateLongMap(longProvider));
374  builder.putAllFieldMapSfixed64String117(populateLongMap(stringProvider));
375  builder.putAllFieldMapSfixed64Uint32118(populateLongMap(integerProvider));
376  builder.putAllFieldMapSfixed64Uint64119(populateLongMap(longProvider));
377  builder.putAllFieldMapSint32Bool120(populateIntegerMap(booleanProvider));
378  builder.putAllFieldMapSint32Bytes121(populateIntegerMap(bytesProvider));
379  builder.putAllFieldMapSint32Double122(populateIntegerMap(doubleProvider));
380  builder.putAllFieldMapSint32Enum123(populateIntegerMap(enumProvider));
381  builder.putAllFieldMapSint32Fixed32124(populateIntegerMap(integerProvider));
382  builder.putAllFieldMapSint32Fixed64125(populateIntegerMap(longProvider));
383  builder.putAllFieldMapSint32Float126(populateIntegerMap(floatProvider));
384  builder.putAllFieldMapSint32Int32127(populateIntegerMap(integerProvider));
385  builder.putAllFieldMapSint32Int64128(populateIntegerMap(longProvider));
386  builder.putAllFieldMapSint32Message129(populateIntegerMap(messageProvider));
387  builder.putAllFieldMapSint32Sfixed32130(populateIntegerMap(integerProvider));
388  builder.putAllFieldMapSint32Sfixed64131(populateIntegerMap(longProvider));
389  builder.putAllFieldMapSint32Sint32132(populateIntegerMap(integerProvider));
390  builder.putAllFieldMapSint32Sint64133(populateIntegerMap(longProvider));
391  builder.putAllFieldMapSint32String134(populateIntegerMap(stringProvider));
392  builder.putAllFieldMapSint32Uint32135(populateIntegerMap(integerProvider));
393  builder.putAllFieldMapSint32Uint64136(populateIntegerMap(longProvider));
394  builder.putAllFieldMapSint64Bool137(populateLongMap(booleanProvider));
395  builder.putAllFieldMapSint64Bytes138(populateLongMap(bytesProvider));
396  builder.putAllFieldMapSint64Double139(populateLongMap(doubleProvider));
397  builder.putAllFieldMapSint64Enum140(populateLongMap(enumProvider));
398  builder.putAllFieldMapSint64Fixed32141(populateLongMap(integerProvider));
399  builder.putAllFieldMapSint64Fixed64142(populateLongMap(longProvider));
400  builder.putAllFieldMapSint64Float143(populateLongMap(floatProvider));
401  builder.putAllFieldMapSint64Int32144(populateLongMap(integerProvider));
402  builder.putAllFieldMapSint64Int64145(populateLongMap(longProvider));
403  builder.putAllFieldMapSint64Message146(populateLongMap(messageProvider));
404  builder.putAllFieldMapSint64Sfixed32147(populateLongMap(integerProvider));
405  builder.putAllFieldMapSint64Sfixed64148(populateLongMap(longProvider));
406  builder.putAllFieldMapSint64Sint32149(populateLongMap(integerProvider));
407  builder.putAllFieldMapSint64Sint64150(populateLongMap(longProvider));
408  builder.putAllFieldMapSint64String151(populateLongMap(stringProvider));
409  builder.putAllFieldMapSint64Uint32152(populateLongMap(integerProvider));
410  builder.putAllFieldMapSint64Uint64153(populateLongMap(longProvider));
411  builder.putAllFieldMapStringBool154(populateStringMap(booleanProvider));
412  builder.putAllFieldMapStringBytes155(populateStringMap(bytesProvider));
413  builder.putAllFieldMapStringDouble156(populateStringMap(doubleProvider));
414  builder.putAllFieldMapStringEnum157(populateStringMap(enumProvider));
415  builder.putAllFieldMapStringFixed32158(populateStringMap(integerProvider));
416  builder.putAllFieldMapStringFixed64159(populateStringMap(longProvider));
417  builder.putAllFieldMapStringFloat160(populateStringMap(floatProvider));
418  builder.putAllFieldMapStringInt32161(populateStringMap(integerProvider));
419  builder.putAllFieldMapStringInt64162(populateStringMap(longProvider));
420  builder.putAllFieldMapStringMessage163(populateStringMap(messageProvider));
421  builder.putAllFieldMapStringSfixed32164(populateStringMap(integerProvider));
422  builder.putAllFieldMapStringSfixed64165(populateStringMap(longProvider));
423  builder.putAllFieldMapStringSint32166(populateStringMap(integerProvider));
424  builder.putAllFieldMapStringSint64167(populateStringMap(longProvider));
425  builder.putAllFieldMapStringString168(populateStringMap(stringProvider));
426  builder.putAllFieldMapStringUint32169(populateStringMap(integerProvider));
427  builder.putAllFieldMapStringUint64170(populateStringMap(longProvider));
428  builder.putAllFieldMapUint32Bool171(populateIntegerMap(booleanProvider));
429  builder.putAllFieldMapUint32Bytes172(populateIntegerMap(bytesProvider));
430  builder.putAllFieldMapUint32Double173(populateIntegerMap(doubleProvider));
431  builder.putAllFieldMapUint32Enum174(populateIntegerMap(enumProvider));
432  builder.putAllFieldMapUint32Fixed32175(populateIntegerMap(integerProvider));
433  builder.putAllFieldMapUint32Fixed64176(populateIntegerMap(longProvider));
434  builder.putAllFieldMapUint32Float177(populateIntegerMap(floatProvider));
435  builder.putAllFieldMapUint32Int32178(populateIntegerMap(integerProvider));
436  builder.putAllFieldMapUint32Int64179(populateIntegerMap(longProvider));
437  builder.putAllFieldMapUint32Message180(populateIntegerMap(messageProvider));
438  builder.putAllFieldMapUint32Sfixed32181(populateIntegerMap(integerProvider));
439  builder.putAllFieldMapUint32Sfixed64182(populateIntegerMap(longProvider));
440  builder.putAllFieldMapUint32Sint32183(populateIntegerMap(integerProvider));
441  builder.putAllFieldMapUint32Sint64184(populateIntegerMap(longProvider));
442  builder.putAllFieldMapUint32String185(populateIntegerMap(stringProvider));
443  builder.putAllFieldMapUint32Uint32186(populateIntegerMap(integerProvider));
444  builder.putAllFieldMapUint32Uint64187(populateIntegerMap(longProvider));
445  builder.putAllFieldMapUint64Bool188(populateLongMap(booleanProvider));
446  builder.putAllFieldMapUint64Bytes189(populateLongMap(bytesProvider));
447  builder.putAllFieldMapUint64Double190(populateLongMap(doubleProvider));
448  builder.putAllFieldMapUint64Enum191(populateLongMap(enumProvider));
449  builder.putAllFieldMapUint64Fixed32192(populateLongMap(integerProvider));
450  builder.putAllFieldMapUint64Fixed64193(populateLongMap(longProvider));
451  builder.putAllFieldMapUint64Float194(populateLongMap(floatProvider));
452  builder.putAllFieldMapUint64Int32195(populateLongMap(integerProvider));
453  builder.putAllFieldMapUint64Int64196(populateLongMap(longProvider));
454  builder.putAllFieldMapUint64Message197(populateLongMap(messageProvider));
455  builder.putAllFieldMapUint64Sfixed32198(populateLongMap(integerProvider));
456  builder.putAllFieldMapUint64Sfixed64199(populateLongMap(longProvider));
457  builder.putAllFieldMapUint64Sint32200(populateLongMap(integerProvider));
458  builder.putAllFieldMapUint64Sint64201(populateLongMap(longProvider));
459  builder.putAllFieldMapUint64String202(populateLongMap(stringProvider));
460  builder.putAllFieldMapUint64Uint32203(populateLongMap(integerProvider));
461  builder.putAllFieldMapUint64Uint64204(populateLongMap(longProvider));
462 
463  return builder.build();
464  }
465 
466  public List<Proto2MessageLite> newMessagesMissingRequiredFields() {
467  List<Proto2MessageLite> results = new ArrayList<>();
468  for (int i = 71; i <= 88; ++i) {
469  Proto2MessageLite.Builder builder = Proto2MessageLite.newBuilder();
470  populateRequiredFields(builder, i);
471  results.add(builder.buildPartial());
472  }
473  {
474  // A nested optional message field is missing required fields.
475  Proto2MessageLite.Builder builder = Proto2MessageLite.newBuilder();
477  builder.setFieldMessage10(Proto2MessageLite.getDefaultInstance());
478  results.add(builder.buildPartial());
479  }
480  {
481  // A nested repeated message field is missing required fields.
482  Proto2MessageLite.Builder builder = Proto2MessageLite.newBuilder();
484  builder.addFieldMessageList27(Proto2MessageLite.getDefaultInstance());
485  results.add(builder.buildPartial());
486  }
487  {
488  // A nested oneof message field is missing required fields.
489  Proto2MessageLite.Builder builder = Proto2MessageLite.newBuilder();
491  builder.setFieldMessage62(Proto2MessageLite.getDefaultInstance());
492  results.add(builder.buildPartial());
493  }
494  return results;
495  }
496 
497  // 0 is not a valid field number so we use it to mean no fields are excluded.
498  private static final int INCLUDE_ALL_REQUIRED_FIELDS = 0;
499 
500  private void populateRequiredFields(Proto2MessageLite.Builder builder, int excludedFieldNumber) {
501  if (excludedFieldNumber != 71) {
502  builder.setFieldRequiredDouble71(data.getDouble());
503  }
504  if (excludedFieldNumber != 72) {
505  builder.setFieldRequiredFloat72(data.getFloat());
506  }
507  if (excludedFieldNumber != 73) {
508  builder.setFieldRequiredInt6473(data.getLong());
509  }
510  if (excludedFieldNumber != 74) {
511  builder.setFieldRequiredUint6474(data.getLong());
512  }
513  if (excludedFieldNumber != 75) {
514  builder.setFieldRequiredInt3275(data.getInt());
515  }
516  if (excludedFieldNumber != 76) {
517  builder.setFieldRequiredFixed6476(data.getLong());
518  }
519  if (excludedFieldNumber != 77) {
520  builder.setFieldRequiredFixed3277(data.getInt());
521  }
522  if (excludedFieldNumber != 78) {
523  builder.setFieldRequiredBool78(data.getBool());
524  }
525  if (excludedFieldNumber != 79) {
526  builder.setFieldRequiredString79(data.getString());
527  }
528  if (excludedFieldNumber != 80) {
529  builder.setFieldRequiredMessage80(
530  Proto2MessageLite.RequiredNestedMessage.newBuilder().setValue(data.getInt()));
531  }
532  if (excludedFieldNumber != 81) {
533  builder.setFieldRequiredBytes81(data.getBytes());
534  }
535  if (excludedFieldNumber != 82) {
536  builder.setFieldRequiredUint3282(data.getInt());
537  }
538  if (excludedFieldNumber != 83) {
539  builder.setFieldRequiredEnum83(Proto2MessageLite.TestEnum.forNumber(data.getEnum()));
540  }
541  if (excludedFieldNumber != 84) {
542  builder.setFieldRequiredSfixed3284(data.getInt());
543  }
544  if (excludedFieldNumber != 85) {
545  builder.setFieldRequiredSfixed6485(data.getLong());
546  }
547  if (excludedFieldNumber != 86) {
548  builder.setFieldRequiredSint3286(data.getInt());
549  }
550  if (excludedFieldNumber != 87) {
551  builder.setFieldRequiredSint6487(data.getLong());
552  }
553  if (excludedFieldNumber != 88) {
554  builder.setFieldRequiredGroup88(
555  Proto2MessageLite.FieldRequiredGroup88.newBuilder().setFieldInt3289(data.getInt()));
556  }
557  }
558 }
com.google.protobuf.Proto2MessageLiteFactory.Proto2MessageLiteFactory
Proto2MessageLiteFactory(ExperimentalTestDataProvider data, int numRepeatedFields, int branchingFactor, int treeDepth)
Definition: Proto2MessageLiteFactory.java:57
com.google.protobuf.Proto2MessageLiteFactory.MapValueProvider
Definition: Proto2MessageLiteFactory.java:156
Map
Definition: ruby/ext/google/protobuf_c/protobuf.h:442
com.google.protobuf.Proto2MessageLiteFactory.longProvider
final MapValueProvider< Long > longProvider
Definition: Proto2MessageLiteFactory.java:167
com.google.protobuf.Proto2MessageLiteFactory
Definition: Proto2MessageLiteFactory.java:41
com.google.protobuf.Proto2MessageLiteFactory.MapValueProvider.getValue
T getValue()
com.google.protobuf.Proto2MessageLiteFactory.dataProvider
ExperimentalTestDataProvider dataProvider()
Definition: Proto2MessageLiteFactory.java:74
com.google.protobuf.Proto2MessageLiteFactory.branchingFactor
final int branchingFactor
Definition: Proto2MessageLiteFactory.java:44
com.google.protobuf.Proto2MessageLiteFactory.doubleProvider
final MapValueProvider< Double > doubleProvider
Definition: Proto2MessageLiteFactory.java:202
com.google.protobuf
Definition: ProtoCaliperBenchmark.java:2
com.google.protobuf.Proto2MessageLiteFactory.floatProvider
final MapValueProvider< Float > floatProvider
Definition: Proto2MessageLiteFactory.java:195
map
zval * map
Definition: php/ext/google/protobuf/encode_decode.c:473
T
#define T(upbtypeconst, upbtype, ctype, default_value)
testing::internal::Double
FloatingPoint< double > Double
Definition: gtest-internal.h:429
com.google.protobuf.Proto2MessageLiteFactory.populateRequiredFields
void populateRequiredFields(Proto2MessageLite.Builder builder, int excludedFieldNumber)
Definition: Proto2MessageLiteFactory.java:500
com.google.protobuf.Proto2MessageLiteFactory.newMessagesMissingRequiredFields
List< Proto2MessageLite > newMessagesMissingRequiredFields()
Definition: Proto2MessageLiteFactory.java:466
com.google.protobuf.Proto2MessageLiteFactory.newMessage
Proto2MessageLite newMessage()
Definition: Proto2MessageLiteFactory.java:79
com.google.protobuf.Proto2MessageLiteFactory.newMessageWithMaps
Proto2MessageLiteWithMaps newMessageWithMaps()
Definition: Proto2MessageLiteFactory.java:255
testing::internal::Float
FloatingPoint< float > Float
Definition: gtest-internal.h:428
benchmarks.python.py_benchmark.results
list results
Definition: py_benchmark.py:145
com.google.protobuf.Proto2MessageLiteFactory.numRepeatedFields
final int numRepeatedFields
Definition: Proto2MessageLiteFactory.java:43
com.google.protobuf.Proto2MessageLiteFactory.enumProvider
final MapValueProvider< Proto2MessageLite.TestEnum > enumProvider
Definition: Proto2MessageLiteFactory.java:216
com.google.protobuf.Proto2MessageLiteFactory.data
final ExperimentalTestDataProvider data
Definition: Proto2MessageLiteFactory.java:46
com.google.protobuf.Proto2MessageLiteFactory.INCLUDE_ALL_REQUIRED_FIELDS
static final int INCLUDE_ALL_REQUIRED_FIELDS
Definition: Proto2MessageLiteFactory.java:498
com.google.protobuf.Proto2MessageLiteFactory.booleanProvider
final MapValueProvider< Boolean > booleanProvider
Definition: Proto2MessageLiteFactory.java:188
i
int i
Definition: gmock-matchers_test.cc:764
java
com.google.protobuf.Proto2MessageLiteFactory.messageProvider
final MapValueProvider< Proto2MessageLite > messageProvider
Definition: Proto2MessageLiteFactory.java:209
com.google.protobuf.Proto2MessageLiteFactory.stringProvider
final MapValueProvider< String > stringProvider
Definition: Proto2MessageLiteFactory.java:174
com.google.protobuf.Proto2MessageLiteFactory.Proto2MessageLiteFactory
Proto2MessageLiteFactory(int numRepeatedFields, int stringLength, int branchingFactor, int treeDepth)
Definition: Proto2MessageLiteFactory.java:48
com.google
com
com.google.protobuf.Proto2MessageLiteFactory.nextLevel
final Proto2MessageLiteFactory nextLevel
Definition: Proto2MessageLiteFactory.java:45
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: glcorearb.h:2879
com.google.protobuf.Proto2MessageLiteFactory.integerProvider
final MapValueProvider< Integer > integerProvider
Definition: Proto2MessageLiteFactory.java:160
com.google.protobuf.Proto2MessageLiteFactory.bytesProvider
final MapValueProvider< ByteString > bytesProvider
Definition: Proto2MessageLiteFactory.java:181
Proto2TestingLite
com.google.protobuf.ExperimentalMessageFactory
Definition: ExperimentalMessageFactory.java:34
com.google.protobuf.ExperimentalTestDataProvider
Definition: ExperimentalTestDataProvider.java:36
com.google.protobuf.ByteString
Definition: ByteString.java:67


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:57