# Package com.google.protobuf

- Interface Summary
  Interface | Description
  --- | ---
  AbstractMessage.BuilderParent | Interface for the parent of a Builder that allows the builder to communicate invalidations back to the parent for use when using nested builders.
  BlockingRpcChannel | Abstract interface for a blocking RPC channel.
  BlockingService | Blocking equivalent to `Service`.
  ByteString.ByteIterator | This interface extends `Iterator<Byte>`, so that we can return an unboxed `byte`.
  DescriptorProtos.DescriptorProto.ExtensionRangeOrBuilder |
  DescriptorProtos.DescriptorProto.ReservedRangeOrBuilder |
  DescriptorProtos.DescriptorProtoOrBuilder |
  DescriptorProtos.EnumDescriptorProtoOrBuilder |
  DescriptorProtos.EnumOptionsOrBuilder |
  DescriptorProtos.EnumValueDescriptorProtoOrBuilder |
  DescriptorProtos.EnumValueOptionsOrBuilder |
  DescriptorProtos.FieldDescriptorProtoOrBuilder |
  DescriptorProtos.FieldOptionsOrBuilder |
  DescriptorProtos.FileDescriptorProtoOrBuilder |
  DescriptorProtos.FileDescriptorSetOrBuilder |
  DescriptorProtos.FileOptionsOrBuilder |
  DescriptorProtos.GeneratedCodeInfo.AnnotationOrBuilder |
  DescriptorProtos.GeneratedCodeInfoOrBuilder |
  DescriptorProtos.MessageOptionsOrBuilder |
  DescriptorProtos.MethodDescriptorProtoOrBuilder |
  DescriptorProtos.MethodOptionsOrBuilder |
  DescriptorProtos.OneofDescriptorProtoOrBuilder |
  DescriptorProtos.OneofOptionsOrBuilder |
  DescriptorProtos.ServiceDescriptorProtoOrBuilder |
  DescriptorProtos.ServiceOptionsOrBuilder |
  DescriptorProtos.SourceCodeInfo.LocationOrBuilder |
  DescriptorProtos.SourceCodeInfoOrBuilder |
  DescriptorProtos.UninterpretedOption.NamePartOrBuilder |
  DescriptorProtos.UninterpretedOptionOrBuilder |
  Descriptors.FileDescriptor.InternalDescriptorAssigner | This class should be used by generated code only.
  GeneratedMessage.BuilderParent | TODO(xiaofeng): remove this after b/29368482 is fixed.
  GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage> |
  GeneratedMessageLite.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>> | Lite equivalent of `GeneratedMessage.ExtendableMessageOrBuilder`.
  GeneratedMessageLite.Visitor | An abstract visitor that the generated code calls into that we use to implement various features.
  GeneratedMessageV3.BuilderParent | TODO(xiaofeng): remove this after b/29368482 is fixed.
  GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage> |
  Internal.BooleanList | A `List` implementation that avoids boxing the elements into Booleans if possible.
  Internal.DoubleList | A `List` implementation that avoids boxing the elements into Doubles if possible.
  Internal.EnumLite | Interface for an enum value or value descriptor, to be used in FieldSet.
  Internal.EnumLiteMap<T extends Internal.EnumLite> | Interface for an object which maps integers to `Internal.EnumLite`s.
  Internal.FloatList | A `List` implementation that avoids boxing the elements into Floats if possible.
  Internal.IntList | A `List` implementation that avoids boxing the elements into Integers if possible.
  Internal.ListAdapter.Converter<F,T> | Convert individual elements of the List from F to T.
  Internal.LongList | A `List` implementation that avoids boxing the elements into Longs if possible.
  Internal.MapAdapter.Converter<A,B> | An interface used to convert between two types.
  Internal.ProtobufList<E> | Extends `List` to add the capability to make the list immutable and inspect if it is modifiable.
  LazyStringList | An interface extending `List<String>` that also provides access to the items of the list as UTF8-encoded ByteString or byte[] objects.
  Message | Abstract interface implemented by Protocol Message objects.
  Message.Builder | Abstract interface implemented by Protocol Message builders.
  MessageLite | Abstract interface implemented by Protocol Message objects.
  MessageLite.Builder | Abstract interface implemented by Protocol Message builders.
  MessageLiteOrBuilder | Base interface for methods common to `MessageLite` and `MessageLite.Builder` to provide type equivalency.
  MessageOrBuilder | Base interface for methods common to `Message` and `Message.Builder` to provide type equivalency.
  Parser<MessageType> | Abstract interface for parsing Protocol Messages.
  ProtocolMessageEnum | Interface of useful methods added to all enums generated by the protocol compiler.
  ProtocolStringList | An interface extending `List<String>` used for repeated string fields to provide optional access to the data as a list of ByteStrings.
  RpcCallback<ParameterType> | Interface for an RPC callback, normally called when an RPC completes.
  RpcChannel | Abstract interface for an RPC channel.
  RpcController | An `RpcController` mediates a single method call.
  Service | Abstract base interface for protocol-buffer-based RPC services.

- Class Summary
  Class | Description
  --- | ---
  AbstractMessage | A partial implementation of the `Message` interface which implements as many methods of that interface as possible in terms of other methods.
  AbstractMessage.Builder<BuilderType extends AbstractMessage.Builder<BuilderType>> | A partial implementation of the `Message.Builder` interface which implements as many methods of that interface as possible in terms of other methods.
  AbstractMessageLite<MessageType extends AbstractMessageLite<MessageType,BuilderType>,BuilderType extends AbstractMessageLite.Builder<MessageType,BuilderType>> | A partial implementation of the `MessageLite` interface which implements as many methods of that interface as possible in terms of other methods.
  AbstractMessageLite.Builder<MessageType extends AbstractMessageLite<MessageType,BuilderType>,BuilderType extends AbstractMessageLite.Builder<MessageType,BuilderType>> | A partial implementation of the `Message.Builder` interface which implements as many methods of that interface as possible in terms of other methods.
  AbstractParser<MessageType extends MessageLite> | A partial implementation of the `Parser` interface which implements as many methods of that interface as possible in terms of other methods.
  ByteOutput | An output target for raw bytes.
  ByteString | Immutable sequence of bytes.
  ByteString.Output | Outputs to a `ByteString` instance.
  CodedInputStream | Reads and decodes protocol message fields.
  CodedOutputStream | Encodes and writes protocol message fields.
  DescriptorProtos |
  DescriptorProtos.DescriptorProto | Describes a message type.
  DescriptorProtos.DescriptorProto.Builder | Describes a message type.
  DescriptorProtos.DescriptorProto.ExtensionRange | Protobuf type `google.protobuf.DescriptorProto.ExtensionRange`
  DescriptorProtos.DescriptorProto.ExtensionRange.Builder | Protobuf type `google.protobuf.DescriptorProto.ExtensionRange`
  DescriptorProtos.DescriptorProto.ReservedRange | Range of reserved tag numbers.
  DescriptorProtos.DescriptorProto.ReservedRange.Builder | Range of reserved tag numbers.
  DescriptorProtos.EnumDescriptorProto | Describes an enum type.
  DescriptorProtos.EnumDescriptorProto.Builder | Describes an enum type.
  DescriptorProtos.EnumOptions | Protobuf type `google.protobuf.EnumOptions`
  DescriptorProtos.EnumOptions.Builder | Protobuf type `google.protobuf.EnumOptions`
  DescriptorProtos.EnumValueDescriptorProto | Describes a value within an enum.
  DescriptorProtos.EnumValueDescriptorProto.Builder | Describes a value within an enum.
  DescriptorProtos.EnumValueOptions | Protobuf type `google.protobuf.EnumValueOptions`
  DescriptorProtos.EnumValueOptions.Builder | Protobuf type `google.protobuf.EnumValueOptions`
  DescriptorProtos.FieldDescriptorProto | Describes a field within a message.
  DescriptorProtos.FieldDescriptorProto.Builder | Describes a field within a message.
  DescriptorProtos.FieldOptions | Protobuf type `google.protobuf.FieldOptions`
  DescriptorProtos.FieldOptions.Builder | Protobuf type `google.protobuf.FieldOptions`
  DescriptorProtos.FileDescriptorProto | Describes a complete .proto file.
  DescriptorProtos.FileDescriptorProto.Builder | Describes a complete .proto file.
  DescriptorProtos.FileDescriptorSet | The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.
  DescriptorProtos.FileDescriptorSet.Builder | The protocol compiler can output a FileDescriptorSet containing the .proto files it parses.
  DescriptorProtos.FileOptions | Protobuf type `google.protobuf.FileOptions`
  DescriptorProtos.FileOptions.Builder | Protobuf type `google.protobuf.FileOptions`
  DescriptorProtos.GeneratedCodeInfo | Describes the relationship between generated code and its original source file.
  DescriptorProtos.GeneratedCodeInfo.Annotation | Protobuf type `google.protobuf.GeneratedCodeInfo.Annotation`
  DescriptorProtos.GeneratedCodeInfo.Annotation.Builder | Protobuf type `google.protobuf.GeneratedCodeInfo.Annotation`
  DescriptorProtos.GeneratedCodeInfo.Builder | Describes the relationship between generated code and its original source file.
  DescriptorProtos.MessageOptions | Protobuf type `google.protobuf.MessageOptions`
  DescriptorProtos.MessageOptions.Builder | Protobuf type `google.protobuf.MessageOptions`
  DescriptorProtos.MethodDescriptorProto | Describes a method of a service.
  DescriptorProtos.MethodDescriptorProto.Builder | Describes a method of a service.
  DescriptorProtos.MethodOptions | Protobuf type `google.protobuf.MethodOptions`
  DescriptorProtos.MethodOptions.Builder | Protobuf type `google.protobuf.MethodOptions`
  DescriptorProtos.OneofDescriptorProto | Describes a oneof.
  DescriptorProtos.OneofDescriptorProto.Builder | Describes a oneof.
  DescriptorProtos.OneofOptions | Protobuf type `google.protobuf.OneofOptions`
  DescriptorProtos.OneofOptions.Builder | Protobuf type `google.protobuf.OneofOptions`
  DescriptorProtos.ServiceDescriptorProto | Describes a service.
  DescriptorProtos.ServiceDescriptorProto.Builder | Describes a service.
  DescriptorProtos.ServiceOptions | Protobuf type `google.protobuf.ServiceOptions`
  DescriptorProtos.ServiceOptions.Builder | Protobuf type `google.protobuf.ServiceOptions`
  DescriptorProtos.SourceCodeInfo | Encapsulates information about the original source file from which a FileDescriptorProto was generated.
  DescriptorProtos.SourceCodeInfo.Builder | Encapsulates information about the original source file from which a FileDescriptorProto was generated.
  DescriptorProtos.SourceCodeInfo.Location | Protobuf type `google.protobuf.SourceCodeInfo.Location`
  DescriptorProtos.SourceCodeInfo.Location.Builder | Protobuf type `google.protobuf.SourceCodeInfo.Location`
  DescriptorProtos.UninterpretedOption | A message representing a option the parser does not recognize.
  DescriptorProtos.UninterpretedOption.Builder | A message representing a option the parser does not recognize.
  DescriptorProtos.UninterpretedOption.NamePart | The name of the uninterpreted option.
  DescriptorProtos.UninterpretedOption.NamePart.Builder | The name of the uninterpreted option.
  Descriptors | Contains a collection of classes which describe protocol message types.
  Descriptors.Descriptor | Describes a message type.
  Descriptors.EnumDescriptor | Describes an enum type.
  Descriptors.EnumValueDescriptor | Describes one value within an enum type.
  Descriptors.FieldDescriptor | Describes a field of a message type.
  Descriptors.FileDescriptor | Describes a `.proto` file, including everything defined within.
  Descriptors.GenericDescriptor | All descriptors implement this to make it easier to implement tools like `DescriptorPool`.
  Descriptors.MethodDescriptor | Describes one method within a service type.
  Descriptors.OneofDescriptor | Describes an oneof of a message type.
  Descriptors.ServiceDescriptor | Describes a service type.
  DynamicMessage | An implementation of `Message` that can represent arbitrary types, given a `Descriptors.Descriptor`.
  DynamicMessage.Builder | Builder for `DynamicMessage`s.
  Extension<ContainingType extends MessageLite,Type> | Interface that generated extensions implement.
  ExtensionLite<ContainingType extends MessageLite,Type> | Lite interface that generated extensions implement.
  ExtensionRegistry | A table of known extensions, searchable by name or field number.
  ExtensionRegistry.ExtensionInfo | A (Descriptor, Message) pair, returned by lookup methods.
  ExtensionRegistryLite | Equivalent to `ExtensionRegistry` but supports only "lite" types.
  GeneratedMessage | All generated protocol message classes extend this class.
  GeneratedMessage.Builder<BuilderType extends GeneratedMessage.Builder<BuilderType>> |
  GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder<MessageType,BuilderType>> | Generated message builders for message types that contain extension ranges subclass this.
  GeneratedMessage.ExtendableMessage<MessageType extends GeneratedMessage.ExtendableMessage> | Generated message classes for message types that contain extension ranges subclass this.
  GeneratedMessage.FieldAccessorTable | Users should ignore this class.
  GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type> | Type used to represent generated extensions.
  GeneratedMessageLite<MessageType extends GeneratedMessageLite<MessageType,BuilderType>,BuilderType extends GeneratedMessageLite.Builder<MessageType,BuilderType>> | Lite version of `GeneratedMessage`.
  GeneratedMessageLite.Builder<MessageType extends GeneratedMessageLite<MessageType,BuilderType>,BuilderType extends GeneratedMessageLite.Builder<MessageType,BuilderType>> |
  GeneratedMessageLite.DefaultInstanceBasedParser<T extends GeneratedMessageLite<T,?>> | A `Parser` implementation that delegates to the default instance.
  GeneratedMessageLite.ExtendableBuilder<MessageType extends GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>> | Lite equivalent of `GeneratedMessage.ExtendableBuilder`.
  GeneratedMessageLite.ExtendableMessage<MessageType extends GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>> | Lite equivalent of `GeneratedMessage.ExtendableMessage`.
  GeneratedMessageLite.GeneratedExtension<ContainingType extends MessageLite,Type> | Lite equivalent to `GeneratedMessage.GeneratedExtension`.
  GeneratedMessageLite.MergeFromVisitor | Implements field merging semantics over the visitor interface.
  GeneratedMessageLite.SerializedForm | A serialized (serializable) form of the generated message.
  GeneratedMessageV3 | All generated protocol message classes extend this class.
  GeneratedMessageV3.Builder<BuilderType extends GeneratedMessageV3.Builder<BuilderType>> |
  GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>> | Generated message builders for message types that contain extension ranges subclass this.
  GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage> | Generated message classes for message types that contain extension ranges subclass this.
  GeneratedMessageV3.FieldAccessorTable | Users should ignore this class.
  Internal | The classes contained within are used internally by the Protocol Buffer library and generated message implementations.
  Internal.ListAdapter<F,T> | Provides an immutable view of `List<T>` around a `List<F>`.
  Internal.MapAdapter<K,V,RealValue> | Wrap around a `Map<K, RealValue>` and provide a `Map<K, V>` interface.
  LazyField | LazyField encapsulates the logic of lazily parsing message fields.
  LazyFieldLite | LazyFieldLite encapsulates the logic of lazily parsing message fields.
  LazyStringArrayList | An implementation of `LazyStringList` that wraps an ArrayList.
  MapEntry<K,V> | Implements MapEntry messages.
  MapEntry.Builder<K,V> | Builder to create `MapEntry` messages.
  MapEntryLite<K,V> | Implements the lite version of map entry messages.
  MapField<K,V> | Internal representation of map fields in generated messages.
  MapFieldLite<K,V> | Internal representation of map fields in generated lite-runtime messages.
  RepeatedFieldBuilder<MType extends GeneratedMessage,BType extends GeneratedMessage.Builder,IType extends MessageOrBuilder> | `RepeatedFieldBuilder` implements a structure that a protocol message uses to hold a repeated field of other protocol messages.
  RepeatedFieldBuilderV3<MType extends AbstractMessage,BType extends AbstractMessage.Builder,IType extends MessageOrBuilder> | `RepeatedFieldBuilderV3` implements a structure that a protocol message uses to hold a repeated field of other protocol messages.
  RpcUtil | Grab-bag of utility functions useful when dealing with RPCs.
  SingleFieldBuilder<MType extends GeneratedMessage,BType extends GeneratedMessage.Builder,IType extends MessageOrBuilder> | `SingleFieldBuilder` implements a structure that a protocol message uses to hold a single field of another protocol message.
  SingleFieldBuilderV3<MType extends AbstractMessage,BType extends AbstractMessage.Builder,IType extends MessageOrBuilder> | `SingleFieldBuilderV3` implements a structure that a protocol message uses to hold a single field of another protocol message.
  TextFormat | Provide text parsing and formatting support for proto2 instances.
  TextFormat.Parser | Parser for text-format proto2 instances.
  TextFormat.Parser.Builder | Builder that can be used to obtain new instances of `Parser`.
  TextFormatParseInfoTree | Data structure which is populated with the locations of each field value parsed from the text.
  TextFormatParseInfoTree.Builder | Builder for a `TextFormatParseInfoTree`.
  TextFormatParseLocation | A location in the source code.
  UnknownFieldSet | `UnknownFieldSet` is used to keep track of fields which were seen when parsing a protocol message but whose field numbers or types are unrecognized.
  UnknownFieldSet.Builder | Builder for `UnknownFieldSet`s.
  UnknownFieldSet.Field | Represents a single field in an `UnknownFieldSet`.
  UnknownFieldSet.Field.Builder | Used to build a `UnknownFieldSet.Field` within an `UnknownFieldSet`.
  UnknownFieldSet.Parser | Parser to implement MessageLite interface.
  UnknownFieldSetLite | `UnknownFieldSetLite` is used to keep track of fields which were seen when parsing a protocol message but whose field numbers or types are unrecognized.
  UnmodifiableLazyStringList | An implementation of `LazyStringList` that wraps another `LazyStringList` such that it cannot be modified via the wrapper.
  UnsafeByteOperations | Provides a number of unsafe byte operations to be used by advanced applications with high performance requirements.
  WireFormat | This class is used internally by the Protocol Buffer library and generated message implementations.

- Enum Summary
  Enum | Description
  --- | ---
  DescriptorProtos.FieldDescriptorProto.Label | Protobuf enum `google.protobuf.FieldDescriptorProto.Label`
  DescriptorProtos.FieldDescriptorProto.Type | Protobuf enum `google.protobuf.FieldDescriptorProto.Type`
  DescriptorProtos.FieldOptions.CType | Protobuf enum `google.protobuf.FieldOptions.CType`
  DescriptorProtos.FieldOptions.JSType | Protobuf enum `google.protobuf.FieldOptions.JSType`
  DescriptorProtos.FileOptions.OptimizeMode | Generated classes can be optimized for speed or code size.
  DescriptorProtos.MethodOptions.IdempotencyLevel | Is this method side-effect-free (or safe in HTTP parlance), or idempotent, or neither? HTTP based RPC implementation may choose GET verb for safe methods, and PUT verb for idempotent methods instead of the default POST.
  Descriptors.FieldDescriptor.JavaType |
  Descriptors.FieldDescriptor.Type |
  Descriptors.FileDescriptor.Syntax | The syntax of the .proto file.
  Extension.ExtensionType | The API type that the extension is used for.
  Extension.MessageType | Type of a message extension.
  GeneratedMessageLite.MethodToInvoke | Defines which method path to invoke in `#dynamicMethod(MethodToInvoke, Object...)`.
  TextFormat.Parser.SingularOverwritePolicy | Determines if repeated values for non-repeated fields and oneofs are permitted.
  WireFormat.FieldType | Lite equivalent to `Descriptors.FieldDescriptor.Type`.
  WireFormat.JavaType | Lite equivalent to `Descriptors.FieldDescriptor.JavaType`.

- Exception Summary
  Exception | Description
  --- | ---
  CodedOutputStream.OutOfSpaceException | If you create a CodedOutputStream around a simple flat array, you must not attempt to write more bytes than the array has space.
  Descriptors.DescriptorValidationException | Thrown when building descriptors fails because the source DescriptorProtos are not valid.
  InvalidProtocolBufferException | Thrown when a protocol message being parsed is invalid in some way, e.g.
  InvalidProtocolBufferException.InvalidWireTypeException | Exception indicating that and unexpected wire type was encountered for a field.
  RpcUtil.AlreadyCalledException | Exception thrown when a one-time callback is called more than once.
  ServiceException | Thrown by blocking RPC methods when a failure occurs.
  TextFormat.InvalidEscapeSequenceException | Thrown by `TextFormat.unescapeBytes(java.lang.CharSequence)` and `TextFormat.unescapeText(java.lang.String)` when an invalid escape sequence is seen.
  TextFormat.ParseException | Thrown when parsing an invalid text format message.
  TextFormat.UnknownFieldParseException | Thrown when encountering an unknown field while parsing a text format message.
  UninitializedMessageException | Thrown when attempting to build a protocol message that is missing required fields.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ExperimentalApi | Indicates a public API that can change at any time, and has no guarantee of API stability and backward-compatibility.