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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 * compiled before the new types were added. | 50 * compiled before the new types were added. |
51 * | 51 * |
52 * <p>Every {@link Message} contains an {@code UnknownFieldSet} (and every | 52 * <p>Every {@link Message} contains an {@code UnknownFieldSet} (and every |
53 * {@link Message.Builder} contains an {@link Builder}). | 53 * {@link Message.Builder} contains an {@link Builder}). |
54 * | 54 * |
55 * <p>Most users will never need to use this class. | 55 * <p>Most users will never need to use this class. |
56 * | 56 * |
57 * @author kenton@google.com Kenton Varda | 57 * @author kenton@google.com Kenton Varda |
58 */ | 58 */ |
59 public final class UnknownFieldSet implements MessageLite { | 59 public final class UnknownFieldSet implements MessageLite { |
| 60 |
60 private UnknownFieldSet() {} | 61 private UnknownFieldSet() {} |
61 | 62 |
62 /** Create a new {@link Builder}. */ | 63 /** Create a new {@link Builder}. */ |
63 public static Builder newBuilder() { | 64 public static Builder newBuilder() { |
64 return Builder.create(); | 65 return Builder.create(); |
65 } | 66 } |
66 | 67 |
67 /** | 68 /** |
68 * Create a new {@link Builder} and initialize it to be a copy | 69 * Create a new {@link Builder} and initialize it to be a copy |
69 * of {@code copyFrom}. | 70 * of {@code copyFrom}. |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 */ | 124 */ |
124 public Field getField(final int number) { | 125 public Field getField(final int number) { |
125 final Field result = fields.get(number); | 126 final Field result = fields.get(number); |
126 return (result == null) ? Field.getDefaultInstance() : result; | 127 return (result == null) ? Field.getDefaultInstance() : result; |
127 } | 128 } |
128 | 129 |
129 /** Serializes the set and writes it to {@code output}. */ | 130 /** Serializes the set and writes it to {@code output}. */ |
130 @Override | 131 @Override |
131 public void writeTo(final CodedOutputStream output) throws IOException { | 132 public void writeTo(final CodedOutputStream output) throws IOException { |
132 for (final Map.Entry<Integer, Field> entry : fields.entrySet()) { | 133 for (final Map.Entry<Integer, Field> entry : fields.entrySet()) { |
133 entry.getValue().writeTo(entry.getKey(), output); | 134 Field field = entry.getValue(); |
| 135 field.writeTo(entry.getKey(), output); |
134 } | 136 } |
135 } | 137 } |
136 | 138 |
137 /** | 139 /** |
138 * Converts the set to a string in protocol buffer text format. This is | 140 * Converts the set to a string in protocol buffer text format. This is |
139 * just a trivial wrapper around | 141 * just a trivial wrapper around |
140 * {@link TextFormat#printToString(UnknownFieldSet)}. | 142 * {@link TextFormat#printToString(UnknownFieldSet)}. |
141 */ | 143 */ |
142 @Override | 144 @Override |
143 public String toString() { | 145 public String toString() { |
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1013 @Override | 1015 @Override |
1014 public UnknownFieldSet parsePartialFrom( | 1016 public UnknownFieldSet parsePartialFrom( |
1015 CodedInputStream input, ExtensionRegistryLite extensionRegistry) | 1017 CodedInputStream input, ExtensionRegistryLite extensionRegistry) |
1016 throws InvalidProtocolBufferException { | 1018 throws InvalidProtocolBufferException { |
1017 Builder builder = newBuilder(); | 1019 Builder builder = newBuilder(); |
1018 try { | 1020 try { |
1019 builder.mergeFrom(input); | 1021 builder.mergeFrom(input); |
1020 } catch (InvalidProtocolBufferException e) { | 1022 } catch (InvalidProtocolBufferException e) { |
1021 throw e.setUnfinishedMessage(builder.buildPartial()); | 1023 throw e.setUnfinishedMessage(builder.buildPartial()); |
1022 } catch (IOException e) { | 1024 } catch (IOException e) { |
1023 throw new InvalidProtocolBufferException(e.getMessage()) | 1025 throw new InvalidProtocolBufferException(e) |
1024 .setUnfinishedMessage(builder.buildPartial()); | 1026 .setUnfinishedMessage(builder.buildPartial()); |
1025 } | 1027 } |
1026 return builder.buildPartial(); | 1028 return builder.buildPartial(); |
1027 } | 1029 } |
1028 } | 1030 } |
1029 | 1031 |
1030 private static final Parser PARSER = new Parser(); | 1032 private static final Parser PARSER = new Parser(); |
1031 @Override | 1033 @Override |
1032 public final Parser getParserForType() { | 1034 public final Parser getParserForType() { |
1033 return PARSER; | 1035 return PARSER; |
1034 } | 1036 } |
1035 } | 1037 } |
OLD | NEW |