Package com.google.protobuf
Interface Reader
-
- All Known Implementing Classes:
BinaryReader,BinaryReader.SafeHeapReader,CodedInputStreamReader
@ExperimentalApi @CheckReturnValue interface Reader
A reader of fields from a serialized protobuf message.
-
-
Field Summary
Fields Modifier and Type Field Description static intREAD_DONEValue used to indicate that the end of input has been reached.static intTAG_UNKNOWNValue used to indicate that the reader does not know the tag about the field.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description intgetFieldNumber()Gets the field number for the current field being read.intgetTag()Gets the wire tag of the current field.<T> voidmergeGroupField(T target, Schema<T> schema, ExtensionRegistryLite extensionRegistry)Read a group field from the wire format and merge the results into the given target.<T> voidmergeMessageField(T target, Schema<T> schema, ExtensionRegistryLite extensionRegistry)Read a message field from the wire format and merge the results into the given target.booleanreadBool()Reads and returns the next field of typeBOOLand advances the reader to the next field.voidreadBoolList(java.util.List<java.lang.Boolean> target)Reads the next field of typeBOOL_LISTorBOOL_LIST_PACKEDand advances the reader to the next field.ByteStringreadBytes()Reads and returns the next field of typeBYTESand advances the reader to the next field.voidreadBytesList(java.util.List<ByteString> target)Reads the next field of typeBYTES_LISTand advances the reader to the next field.doublereadDouble()Reads and returns the next field of typeDOUBLEand advances the reader to the next field.voidreadDoubleList(java.util.List<java.lang.Double> target)Reads the next field of typeDOUBLE_LISTorDOUBLE_LIST_PACKEDand advances the reader to the next field.intreadEnum()Reads and returns the next field of typeENUMand advances the reader to the next field.voidreadEnumList(java.util.List<java.lang.Integer> target)Reads the next field of typeENUM_LISTorENUM_LIST_PACKEDand advances the reader to the next field.intreadFixed32()Reads and returns the next field of typeFIXED32and advances the reader to the next field.voidreadFixed32List(java.util.List<java.lang.Integer> target)Reads the next field of typeFIXED32_LISTorFIXED32_LIST_PACKEDand advances the reader to the next field.longreadFixed64()Reads and returns the next field of typeFIXED64and advances the reader to the next field.voidreadFixed64List(java.util.List<java.lang.Long> target)Reads the next field of typeFIXED64_LISTorFIXED64_LIST_PACKEDand advances the reader to the next field.floatreadFloat()Reads and returns the next field of typeFLOATand advances the reader to the next field.voidreadFloatList(java.util.List<java.lang.Float> target)Reads the next field of typeFLOAT_LISTorFLOAT_LIST_PACKEDand advances the reader to the next field.<T> TreadGroup(java.lang.Class<T> clazz, ExtensionRegistryLite extensionRegistry)Deprecated.groups fields are deprecated.<T> TreadGroupBySchemaWithCheck(Schema<T> schema, ExtensionRegistryLite extensionRegistry)Deprecated.<T> voidreadGroupList(java.util.List<T> target, Schema<T> targetType, ExtensionRegistryLite extensionRegistry)Deprecated.<T> voidreadGroupList(java.util.List<T> target, java.lang.Class<T> targetType, ExtensionRegistryLite extensionRegistry)Deprecated.groups fields are deprecated.intreadInt32()Reads and returns the next field of typeINT32and advances the reader to the next field.voidreadInt32List(java.util.List<java.lang.Integer> target)Reads the next field of typeINT32_LISTorINT32_LIST_PACKEDand advances the reader to the next field.longreadInt64()Reads and returns the next field of typeINT64and advances the reader to the next field.voidreadInt64List(java.util.List<java.lang.Long> target)Reads the next field of typeINT64_LISTorINT64_LIST_PACKEDand advances the reader to the next field.<K,V>
voidreadMap(java.util.Map<K,V> target, MapEntryLite.Metadata<K,V> mapDefaultEntry, ExtensionRegistryLite extensionRegistry)Reads the next field of typeMAPand advances the reader to the next field.<T> TreadMessage(java.lang.Class<T> clazz, ExtensionRegistryLite extensionRegistry)Reads and returns the next field of typeMESSAGEand advances the reader to the next field.<T> TreadMessageBySchemaWithCheck(Schema<T> schema, ExtensionRegistryLite extensionRegistry)<T> voidreadMessageList(java.util.List<T> target, Schema<T> schema, ExtensionRegistryLite extensionRegistry)Reads the next field of typeMESSAGE_LISTand advances the reader to the next field.<T> voidreadMessageList(java.util.List<T> target, java.lang.Class<T> targetType, ExtensionRegistryLite extensionRegistry)intreadSFixed32()Reads and returns the next field of typeSFIXED32and advances the reader to the next field.voidreadSFixed32List(java.util.List<java.lang.Integer> target)Reads the next field of typeSFIXED32_LISTorSFIXED32_LIST_PACKEDand advances the reader to the next field.longreadSFixed64()Reads and returns the next field of typeSFIXED64and advances the reader to the next field.voidreadSFixed64List(java.util.List<java.lang.Long> target)Reads the next field of typeSFIXED64_LISTorSFIXED64_LIST_PACKEDand advances the reader to the next field.intreadSInt32()Reads and returns the next field of typeSINT32and advances the reader to the next field.voidreadSInt32List(java.util.List<java.lang.Integer> target)Reads the next field of typeSINT32_LISTorSINT32_LIST_PACKEDand advances the reader to the next field.longreadSInt64()Reads and returns the next field of typeSINT64and advances the reader to the next field.voidreadSInt64List(java.util.List<java.lang.Long> target)Reads the next field of typeSINT64_LISTorSINT64_LIST_PACKEDand advances the reader to the next field.java.lang.StringreadString()Reads and returns the next field of typeSTRINGand advances the reader to the next field.voidreadStringList(java.util.List<java.lang.String> target)Reads the next field of typeSTRING_LISTand advances the reader to the next field.voidreadStringListRequireUtf8(java.util.List<java.lang.String> target)Reads the next field of typeSTRING_LISTand advances the reader to the next field.java.lang.StringreadStringRequireUtf8()Reads and returns the next field of typeSTRINGand advances the reader to the next field.intreadUInt32()Reads and returns the next field of typeUINT32and advances the reader to the next field.voidreadUInt32List(java.util.List<java.lang.Integer> target)Reads the next field of typeUINT32_LISTorUINT32_LIST_PACKEDand advances the reader to the next field.longreadUInt64()Reads and returns the next field of typeUINT64and advances the reader to the next field.voidreadUInt64List(java.util.List<java.lang.Long> target)Reads the next field of typeUINT64_LISTorUINT64_LIST_PACKEDand advances the reader to the next field.booleanshouldDiscardUnknownFields()booleanskipField()Skips the current field and advances the reader to the next field.
-
-
-
Field Detail
-
READ_DONE
static final int READ_DONE
Value used to indicate that the end of input has been reached.- See Also:
- Constant Field Values
-
TAG_UNKNOWN
static final int TAG_UNKNOWN
Value used to indicate that the reader does not know the tag about the field.- See Also:
- Constant Field Values
-
-
Method Detail
-
shouldDiscardUnknownFields
boolean shouldDiscardUnknownFields()
-
getFieldNumber
int getFieldNumber() throws java.io.IOExceptionGets the field number for the current field being read.TODO: Rename it to make it more explicit about the side effect on the underlying buffer.
- Returns:
- the current field number or
READ_DONEif the end of input has been reached. - Throws:
java.io.IOException
-
getTag
int getTag()
Gets the wire tag of the current field.- Returns:
- the current wire tag or
TAG_UNKNOWNif the reader does not know the tag of the current field.
-
skipField
boolean skipField() throws java.io.IOExceptionSkips the current field and advances the reader to the next field.- Returns:
trueif there are more fields orfalseif the end of input has been reached.- Throws:
java.io.IOException
-
readDouble
double readDouble() throws java.io.IOExceptionReads and returns the next field of typeDOUBLEand advances the reader to the next field.- Throws:
java.io.IOException
-
readFloat
float readFloat() throws java.io.IOExceptionReads and returns the next field of typeFLOATand advances the reader to the next field.- Throws:
java.io.IOException
-
readUInt64
long readUInt64() throws java.io.IOExceptionReads and returns the next field of typeUINT64and advances the reader to the next field.- Throws:
java.io.IOException
-
readInt64
long readInt64() throws java.io.IOExceptionReads and returns the next field of typeINT64and advances the reader to the next field.- Throws:
java.io.IOException
-
readInt32
int readInt32() throws java.io.IOExceptionReads and returns the next field of typeINT32and advances the reader to the next field.- Throws:
java.io.IOException
-
readFixed64
long readFixed64() throws java.io.IOExceptionReads and returns the next field of typeFIXED64and advances the reader to the next field.- Throws:
java.io.IOException
-
readFixed32
int readFixed32() throws java.io.IOExceptionReads and returns the next field of typeFIXED32and advances the reader to the next field.- Throws:
java.io.IOException
-
readBool
boolean readBool() throws java.io.IOExceptionReads and returns the next field of typeBOOLand advances the reader to the next field.- Throws:
java.io.IOException
-
readString
java.lang.String readString() throws java.io.IOExceptionReads and returns the next field of typeSTRINGand advances the reader to the next field. If the stream contains malformed UTF-8, replace the offending bytes with the standard UTF-8 replacement character.- Throws:
java.io.IOException
-
readStringRequireUtf8
java.lang.String readStringRequireUtf8() throws java.io.IOExceptionReads and returns the next field of typeSTRINGand advances the reader to the next field. If the stream contains malformed UTF-8, throw exceptionInvalidProtocolBufferException.- Throws:
java.io.IOException
-
readMessageBySchemaWithCheck
<T> T readMessageBySchemaWithCheck(Schema<T> schema, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
readMessage
<T> T readMessage(java.lang.Class<T> clazz, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionReads and returns the next field of typeMESSAGEand advances the reader to the next field.- Throws:
java.io.IOException
-
readGroup
@Deprecated <T> T readGroup(java.lang.Class<T> clazz, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionDeprecated.groups fields are deprecated.Reads and returns the next field of typeGROUPand advances the reader to the next field.- Throws:
java.io.IOException
-
readGroupBySchemaWithCheck
@Deprecated <T> T readGroupBySchemaWithCheck(Schema<T> schema, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
mergeMessageField
<T> void mergeMessageField(T target, Schema<T> schema, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionRead a message field from the wire format and merge the results into the given target.- Throws:
java.io.IOException
-
mergeGroupField
<T> void mergeGroupField(T target, Schema<T> schema, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionRead a group field from the wire format and merge the results into the given target.- Throws:
java.io.IOException
-
readBytes
ByteString readBytes() throws java.io.IOException
Reads and returns the next field of typeBYTESand advances the reader to the next field.- Throws:
java.io.IOException
-
readUInt32
int readUInt32() throws java.io.IOExceptionReads and returns the next field of typeUINT32and advances the reader to the next field.- Throws:
java.io.IOException
-
readEnum
int readEnum() throws java.io.IOExceptionReads and returns the next field of typeENUMand advances the reader to the next field.- Throws:
java.io.IOException
-
readSFixed32
int readSFixed32() throws java.io.IOExceptionReads and returns the next field of typeSFIXED32and advances the reader to the next field.- Throws:
java.io.IOException
-
readSFixed64
long readSFixed64() throws java.io.IOExceptionReads and returns the next field of typeSFIXED64and advances the reader to the next field.- Throws:
java.io.IOException
-
readSInt32
int readSInt32() throws java.io.IOExceptionReads and returns the next field of typeSINT32and advances the reader to the next field.- Throws:
java.io.IOException
-
readSInt64
long readSInt64() throws java.io.IOExceptionReads and returns the next field of typeSINT64and advances the reader to the next field.- Throws:
java.io.IOException
-
readDoubleList
void readDoubleList(java.util.List<java.lang.Double> target) throws java.io.IOExceptionReads the next field of typeDOUBLE_LISTorDOUBLE_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readFloatList
void readFloatList(java.util.List<java.lang.Float> target) throws java.io.IOExceptionReads the next field of typeFLOAT_LISTorFLOAT_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readUInt64List
void readUInt64List(java.util.List<java.lang.Long> target) throws java.io.IOExceptionReads the next field of typeUINT64_LISTorUINT64_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readInt64List
void readInt64List(java.util.List<java.lang.Long> target) throws java.io.IOExceptionReads the next field of typeINT64_LISTorINT64_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readInt32List
void readInt32List(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeINT32_LISTorINT32_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readFixed64List
void readFixed64List(java.util.List<java.lang.Long> target) throws java.io.IOExceptionReads the next field of typeFIXED64_LISTorFIXED64_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readFixed32List
void readFixed32List(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeFIXED32_LISTorFIXED32_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readBoolList
void readBoolList(java.util.List<java.lang.Boolean> target) throws java.io.IOExceptionReads the next field of typeBOOL_LISTorBOOL_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readStringList
void readStringList(java.util.List<java.lang.String> target) throws java.io.IOExceptionReads the next field of typeSTRING_LISTand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readStringListRequireUtf8
void readStringListRequireUtf8(java.util.List<java.lang.String> target) throws java.io.IOExceptionReads the next field of typeSTRING_LISTand advances the reader to the next field. If the stream contains malformed UTF-8, throw exceptionInvalidProtocolBufferException.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readMessageList
<T> void readMessageList(java.util.List<T> target, Schema<T> schema, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionReads the next field of typeMESSAGE_LISTand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.targetType- the type of the elements stored in thetargetlist.- Throws:
java.io.IOException
-
readMessageList
<T> void readMessageList(java.util.List<T> target, java.lang.Class<T> targetType, ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
readGroupList
@Deprecated <T> void readGroupList(java.util.List<T> target, java.lang.Class<T> targetType, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionDeprecated.groups fields are deprecated.Reads the next field of typeGROUP_LISTand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.targetType- the type of the elements stored in thetargetlist.- Throws:
java.io.IOException
-
readGroupList
@Deprecated <T> void readGroupList(java.util.List<T> target, Schema<T> targetType, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionDeprecated.- Throws:
java.io.IOException
-
readBytesList
void readBytesList(java.util.List<ByteString> target) throws java.io.IOException
Reads the next field of typeBYTES_LISTand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readUInt32List
void readUInt32List(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeUINT32_LISTorUINT32_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readEnumList
void readEnumList(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeENUM_LISTorENUM_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readSFixed32List
void readSFixed32List(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeSFIXED32_LISTorSFIXED32_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readSFixed64List
void readSFixed64List(java.util.List<java.lang.Long> target) throws java.io.IOExceptionReads the next field of typeSFIXED64_LISTorSFIXED64_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readSInt32List
void readSInt32List(java.util.List<java.lang.Integer> target) throws java.io.IOExceptionReads the next field of typeSINT32_LISTorSINT32_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readSInt64List
void readSInt64List(java.util.List<java.lang.Long> target) throws java.io.IOExceptionReads the next field of typeSINT64_LISTorSINT64_LIST_PACKEDand advances the reader to the next field.- Parameters:
target- the list that will receive the read values.- Throws:
java.io.IOException
-
readMap
<K,V> void readMap(java.util.Map<K,V> target, MapEntryLite.Metadata<K,V> mapDefaultEntry, ExtensionRegistryLite extensionRegistry) throws java.io.IOExceptionReads the next field of typeMAPand advances the reader to the next field.- Parameters:
target- the mutable map that will receive the read values.mapDefaultEntry- the default entry of the map field.extensionRegistry- the extension registry for parsing message value fields.- Throws:
java.io.IOException
-
-