| OLD | NEW |
| 1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
| 2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
| 3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
| 10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 * prototype directly. | 357 * prototype directly. |
| 358 */ | 358 */ |
| 359 MergeTarget newMergeTargetForField( | 359 MergeTarget newMergeTargetForField( |
| 360 Descriptors.FieldDescriptor descriptor, | 360 Descriptors.FieldDescriptor descriptor, |
| 361 Message defaultInstance); | 361 Message defaultInstance); |
| 362 | 362 |
| 363 /** | 363 /** |
| 364 * Finishes the merge and returns the underlying object. | 364 * Finishes the merge and returns the underlying object. |
| 365 */ | 365 */ |
| 366 Object finish(); | 366 Object finish(); |
| 367 | |
| 368 } | 367 } |
| 369 | 368 |
| 370 static class BuilderAdapter implements MergeTarget { | 369 static class BuilderAdapter implements MergeTarget { |
| 371 | 370 |
| 372 private final Message.Builder builder; | 371 private final Message.Builder builder; |
| 373 | 372 |
| 374 @Override | 373 @Override |
| 375 public Descriptors.Descriptor getDescriptorForType() { | 374 public Descriptors.Descriptor getDescriptorForType() { |
| 376 return builder.getDescriptorForType(); | 375 return builder.getDescriptorForType(); |
| 377 } | 376 } |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 && builder instanceof GeneratedMessage.Builder) { | 541 && builder instanceof GeneratedMessage.Builder) { |
| 543 return WireFormat.Utf8Validation.LAZY; | 542 return WireFormat.Utf8Validation.LAZY; |
| 544 } | 543 } |
| 545 return WireFormat.Utf8Validation.LOOSE; | 544 return WireFormat.Utf8Validation.LOOSE; |
| 546 } | 545 } |
| 547 | 546 |
| 548 @Override | 547 @Override |
| 549 public Object finish() { | 548 public Object finish() { |
| 550 return builder.buildPartial(); | 549 return builder.buildPartial(); |
| 551 } | 550 } |
| 552 | |
| 553 } | 551 } |
| 554 | 552 |
| 555 | 553 |
| 556 static class ExtensionAdapter implements MergeTarget { | 554 static class ExtensionAdapter implements MergeTarget { |
| 557 | 555 |
| 558 private final FieldSet<Descriptors.FieldDescriptor> extensions; | 556 private final FieldSet<Descriptors.FieldDescriptor> extensions; |
| 559 | 557 |
| 560 ExtensionAdapter(FieldSet<Descriptors.FieldDescriptor> extensions) { | 558 ExtensionAdapter(FieldSet<Descriptors.FieldDescriptor> extensions) { |
| 561 this.extensions = extensions; | 559 this.extensions = extensions; |
| 562 } | 560 } |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 } | 704 } |
| 707 // TODO(liujisi): support lazy strings for ExtesnsionSet. | 705 // TODO(liujisi): support lazy strings for ExtesnsionSet. |
| 708 return WireFormat.Utf8Validation.LOOSE; | 706 return WireFormat.Utf8Validation.LOOSE; |
| 709 } | 707 } |
| 710 | 708 |
| 711 @Override | 709 @Override |
| 712 public Object finish() { | 710 public Object finish() { |
| 713 throw new UnsupportedOperationException( | 711 throw new UnsupportedOperationException( |
| 714 "finish() called on FieldSet object"); | 712 "finish() called on FieldSet object"); |
| 715 } | 713 } |
| 716 | |
| 717 } | 714 } |
| 718 | 715 |
| 719 /** | 716 /** |
| 720 * Parses a single field into MergeTarget. The target can be Message.Builder, | 717 * Parses a single field into MergeTarget. The target can be Message.Builder, |
| 721 * FieldSet or MutableMessage. | 718 * FieldSet or MutableMessage. |
| 722 * | 719 * |
| 723 * Package-private because it is used by GeneratedMessage.ExtendableMessage. | 720 * Package-private because it is used by GeneratedMessage.ExtendableMessage. |
| 724 * | 721 * |
| 725 * @param tag The tag, which should have already been read. | 722 * @param tag The tag, which should have already been read. |
| 726 * @return {@code true} unless the tag is an end-group tag. | 723 * @return {@code true} unless the tag is an end-group tag. |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 CodedInputStream input, | 981 CodedInputStream input, |
| 985 ExtensionRegistry.ExtensionInfo extension, | 982 ExtensionRegistry.ExtensionInfo extension, |
| 986 ExtensionRegistryLite extensionRegistry, | 983 ExtensionRegistryLite extensionRegistry, |
| 987 MergeTarget target) throws IOException { | 984 MergeTarget target) throws IOException { |
| 988 Descriptors.FieldDescriptor field = extension.descriptor; | 985 Descriptors.FieldDescriptor field = extension.descriptor; |
| 989 Object value = target.parseMessage(input, extensionRegistry, field, | 986 Object value = target.parseMessage(input, extensionRegistry, field, |
| 990 extension.defaultInstance); | 987 extension.defaultInstance); |
| 991 target.setField(field, value); | 988 target.setField(field, value); |
| 992 } | 989 } |
| 993 } | 990 } |
| OLD | NEW |