• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 package com.google.protobuf;
9 
10 import java.io.IOException;
11 
12 @CheckReturnValue
13 class UnknownFieldSetLiteSchema
14     extends UnknownFieldSchema<UnknownFieldSetLite, UnknownFieldSetLite> {
15 
UnknownFieldSetLiteSchema()16   UnknownFieldSetLiteSchema() {}
17 
18   @Override
shouldDiscardUnknownFields(Reader reader)19   boolean shouldDiscardUnknownFields(Reader reader) {
20     // We never drop unknown fields in lite.
21     return false;
22   }
23 
24   @Override
newBuilder()25   UnknownFieldSetLite newBuilder() {
26     return UnknownFieldSetLite.newInstance();
27   }
28 
29   @Override
addVarint(UnknownFieldSetLite fields, int number, long value)30   void addVarint(UnknownFieldSetLite fields, int number, long value) {
31     fields.storeField(WireFormat.makeTag(number, WireFormat.WIRETYPE_VARINT), value);
32   }
33 
34   @Override
addFixed32(UnknownFieldSetLite fields, int number, int value)35   void addFixed32(UnknownFieldSetLite fields, int number, int value) {
36     fields.storeField(WireFormat.makeTag(number, WireFormat.WIRETYPE_FIXED32), value);
37   }
38 
39   @Override
addFixed64(UnknownFieldSetLite fields, int number, long value)40   void addFixed64(UnknownFieldSetLite fields, int number, long value) {
41     fields.storeField(WireFormat.makeTag(number, WireFormat.WIRETYPE_FIXED64), value);
42   }
43 
44   @Override
addLengthDelimited(UnknownFieldSetLite fields, int number, ByteString value)45   void addLengthDelimited(UnknownFieldSetLite fields, int number, ByteString value) {
46     fields.storeField(WireFormat.makeTag(number, WireFormat.WIRETYPE_LENGTH_DELIMITED), value);
47   }
48 
49   @Override
addGroup(UnknownFieldSetLite fields, int number, UnknownFieldSetLite subFieldSet)50   void addGroup(UnknownFieldSetLite fields, int number, UnknownFieldSetLite subFieldSet) {
51     fields.storeField(WireFormat.makeTag(number, WireFormat.WIRETYPE_START_GROUP), subFieldSet);
52   }
53 
54   @Override
toImmutable(UnknownFieldSetLite fields)55   UnknownFieldSetLite toImmutable(UnknownFieldSetLite fields) {
56     fields.makeImmutable();
57     return fields;
58   }
59 
60   @Override
setToMessage(Object message, UnknownFieldSetLite fields)61   void setToMessage(Object message, UnknownFieldSetLite fields) {
62     ((GeneratedMessageLite<?, ?>) message).unknownFields = fields;
63   }
64 
65   @Override
getFromMessage(Object message)66   UnknownFieldSetLite getFromMessage(Object message) {
67     return ((GeneratedMessageLite<?, ?>) message).unknownFields;
68   }
69 
70   @Override
getBuilderFromMessage(Object message)71   UnknownFieldSetLite getBuilderFromMessage(Object message) {
72     UnknownFieldSetLite unknownFields = getFromMessage(message);
73     // When parsing into a lite message object, its UnknownFieldSet is either the default instance
74     // or mutable. It can't be in a state where it's immutable but not default instance.
75     if (unknownFields == UnknownFieldSetLite.getDefaultInstance()) {
76       unknownFields = UnknownFieldSetLite.newInstance();
77       setToMessage(message, unknownFields);
78     }
79     return unknownFields;
80   }
81 
82   @Override
setBuilderToMessage(Object message, UnknownFieldSetLite fields)83   void setBuilderToMessage(Object message, UnknownFieldSetLite fields) {
84     setToMessage(message, fields);
85   }
86 
87   @Override
makeImmutable(Object message)88   void makeImmutable(Object message) {
89     getFromMessage(message).makeImmutable();
90   }
91 
92   @Override
writeTo(UnknownFieldSetLite fields, Writer writer)93   void writeTo(UnknownFieldSetLite fields, Writer writer) throws IOException {
94     fields.writeTo(writer);
95   }
96 
97   @Override
writeAsMessageSetTo(UnknownFieldSetLite fields, Writer writer)98   void writeAsMessageSetTo(UnknownFieldSetLite fields, Writer writer) throws IOException {
99     fields.writeAsMessageSetTo(writer);
100   }
101 
102   @Override
merge(UnknownFieldSetLite target, UnknownFieldSetLite source)103   UnknownFieldSetLite merge(UnknownFieldSetLite target, UnknownFieldSetLite source) {
104     if (UnknownFieldSetLite.getDefaultInstance().equals(source)) {
105       return target;
106     }
107     if (UnknownFieldSetLite.getDefaultInstance().equals(target)) {
108       return UnknownFieldSetLite.mutableCopyOf(target, source);
109     }
110     return target.mergeFrom(source);
111   }
112 
113   @Override
getSerializedSize(UnknownFieldSetLite unknowns)114   int getSerializedSize(UnknownFieldSetLite unknowns) {
115     return unknowns.getSerializedSize();
116   }
117 
118   @Override
getSerializedSizeAsMessageSet(UnknownFieldSetLite unknowns)119   int getSerializedSizeAsMessageSet(UnknownFieldSetLite unknowns) {
120     return unknowns.getSerializedSizeAsMessageSet();
121   }
122 }
123