ProtobufInput

fm.serializer.protobuf.ProtobufInput
abstract class ProtobufInput extends Input

Attributes

Graph
Supertypes
trait Input
trait RawInput
trait FieldInput
trait NestedInput
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Value members

Abstract methods

protected def readLengthDelimited[T](f: Input => T): T
def readNestedString(): String
protected def readRawByte(): Byte
def readRawByteArray(): Array[Byte]
protected def readRawBytes(size: Int): Array[Byte]
def readRawString(): String
protected def readTag(): Int
protected def skipRawBytes(size: Int): Unit

Concrete methods

def allowStringMap: Boolean
final protected def checkLastTagTypeWas(expectedWireType: Int): Unit
final protected def checkLastTagWas(value: Int): Unit

Verifies that the last call to readTag() returned the given tag value. This is used to verify that a nested group ended with the correct end tag.

Verifies that the last call to readTag() returned the given tag value. This is used to verify that a nested group ended with the correct end tag.

Attributes

Throws
InvalidProtocolBufferException

value does not match the last tag.

final protected def decodeZigZag32(n: Int): Int

Decode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Decode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Value parameters

n

An unsigned 32-bit integer, stored in a signed int because Java has no explicit unsigned support.

Attributes

Returns

A signed 32-bit integer.

protected def decodeZigZag64(n: Long): Long

Decode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Decode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

Value parameters

n

An unsigned 64-bit integer, stored in a signed int because Java has no explicit unsigned support.

Attributes

Returns

A signed 64-bit integer.

final override def lastFieldName(): String

The last field name that was read (if any)

The last field name that was read (if any)

Attributes

Definition Classes
final override def lastFieldNumber(): Int

The last field number that was read (if any)

The last field number that was read (if any)

Attributes

Definition Classes
final protected def lastTagIsNullValue: Boolean

Was the last tag read for a null field? This is only applicable for reading fields but is safe to use in the readNestedXXX call because it will only ever be true if we are actually reading a null value field.

Was the last tag read for a null field? This is only applicable for reading fields but is safe to use in the readNestedXXX call because it will only ever be true if we are actually reading a null value field.

Attributes

def nextValueIsNull: Boolean

Returns true if the next value is known to be null otherwise false if the value is not null or is unknown. This means that even if the next value ends up being null this can return false.

Returns true if the next value is known to be null otherwise false if the value is not null or is unknown. This means that even if the next value ends up being null this can return false.

Note: If the next value is null then this method should consume that input

Attributes

def readFieldName(): String

If dynamic string maps are supported then this should be implemented otherwise this can just throw an exception.

If dynamic string maps are supported then this should be implemented otherwise this can just throw an exception.

null should be returns on the end of an object/message

Attributes

final def readFieldNumber(nameToNumMap: FieldNameToNumberLookup): Int

Read the next field number

Read the next field number

Attributes

final def readNestedBigDecimal(): BigDecimal
final def readNestedBigInteger(): BigInteger
final def readNestedBool(): Boolean
final def readNestedByteArray(): Array[Byte]
final def readNestedDouble(): Double
final def readNestedFixedInt(): Int
final def readNestedFixedLong(): Long
final def readNestedFloat(): Float
final def readNestedInt(): Int
final def readNestedLong(): Long
def readNestedObject[T](f: FieldInput => T): T
final def readNestedSignedInt(): Int
final def readNestedSignedLong(): Long
final def readNestedUnsignedInt(): Int
final def readNestedUnsignedLong(): Long
final def readRawBigDecimal(): BigDecimal
final def readRawBigInteger(): BigInteger
final def readRawBool(): Boolean
def readRawCollection[T](f: CollectionInput => T): T
final def readRawDouble(): Double
final def readRawFixedInt(): Int
final def readRawFixedLong(): Long
final def readRawFloat(): Float
final def readRawInt(): Int
final protected def readRawLittleEndian32(): Int

Read a 32-bit little-endian integer from the stream.

Read a 32-bit little-endian integer from the stream.

Attributes

final protected def readRawLittleEndian64(): Long

Read a 64-bit little-endian integer from the stream.

Read a 64-bit little-endian integer from the stream.

Attributes

final def readRawLong(): Long
def readRawObject[T](f: FieldInput => T): T
final def readRawSignedInt(): Int
final def readRawSignedLong(): Long
final def readRawUnsignedInt(): Int
final def readRawUnsignedLong(): Long
final def readRawVarint32(): Int

Read a raw Varint from the stream. If larger than 32 bits, discard the upper bits.

Read a raw Varint from the stream. If larger than 32 bits, discard the upper bits.

Attributes

final protected def readRawVarint32(firstByte: Byte): Int

Read a raw Varint from the stream given the first byte. If larger than 32 bits, discard the upper bits.

Read a raw Varint from the stream given the first byte. If larger than 32 bits, discard the upper bits.

Attributes

final def skipField(tag: Int): Boolean

Reads and discards a single field, given its tag value.

Reads and discards a single field, given its tag value.

Attributes

Returns

false if the tag is an endgroup tag, in which case nothing is skipped. Otherwise, returns true.

final def skipMessage(): Unit

Reads and discards an entire message. This will read either until EOF or until an endgroup tag, whichever comes first.

Reads and discards an entire message. This will read either until EOF or until an endgroup tag, whichever comes first.

Attributes

final def skipUnknownField(): Unit

Skip an unknown field value.

Skip an unknown field value.

If after calling readFieldNumber(...) we don't know how to handle the resulting field number then this method can be called to skip the value of the field after which we can call readFieldNumber(...) again.

Attributes

Inherited methods

def hasAnotherElement: Boolean

Is there another element to read in the collection?

Is there another element to read in the collection?

Attributes

Inherited from:
CollectionInput
def reportUnsetField[T](number: Int, name: String, hasUserDefinedDefaultValue: Boolean, deserializer: Deserializer[T]): Unit

This is for reporting that fields for an object were not read and whether or not they had a user-defined default value.

This is for reporting that fields for an object were not read and whether or not they had a user-defined default value.

Value parameters

deserializer

The deserializer for the field. Note: This can be null.

hasUserDefinedDefaultValue

Whether or not there was a user defined default value (e.g. val foo: Int = 123)

name

The field name. Note: This can be null.

number

The field number

Attributes

Inherited from:
FieldInput

Concrete fields

final protected var lastTag: Int

The last tag that was read by readTag()

The last tag that was read by readTag()

Attributes