|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.protobuf.AbstractMessageLite.Builder<BuilderType> com.google.protobuf.AbstractMessage.Builder<BuilderType> com.google.protobuf.GeneratedMessage.Builder<BuilderType> com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageType,BuilderType>
public abstract static class GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder>
Generated message builders for message types that contain extension ranges subclass this.
This class implements type-safe accessors for extensions. They
implement all the same operations that you can do with normal fields --
e.g. "get", "set", and "add" -- but for extensions. The extensions are
identified using instances of the class GeneratedMessage.GeneratedExtension
; the
protocol compiler generates a static instance of this class for every
extension in its input. Through the magic of generics, all is made
type-safe.
For example, imagine you have the .proto
file:
option java_class = "MyProto"; message Foo { extensions 1000 to max; } extend Foo { optional int32 bar; }
Then you might write code like:
MyProto.Foo foo = MyProto.Foo.newBuilder() .setExtension(MyProto.bar, 123) .build();
See also GeneratedMessage.ExtendableMessage
.
Constructor Summary | |
---|---|
protected |
GeneratedMessage.ExtendableBuilder()
|
protected |
GeneratedMessage.ExtendableBuilder(GeneratedMessage.BuilderParent parent)
|
Method Summary | ||
---|---|---|
|
addExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension,
Type value)
Append a value to a repeated extension. |
|
BuilderType |
addRepeatedField(Descriptors.FieldDescriptor field,
java.lang.Object value)
Like setRepeatedField , but appends the value as a new element. |
|
BuilderType |
clear()
Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values. |
|
|
clearExtension(GeneratedMessage.GeneratedExtension<MessageType,?> extension)
Clear an extension. |
|
BuilderType |
clearField(Descriptors.FieldDescriptor field)
Clears the field. |
|
BuilderType |
clone()
Clones the Builder. |
|
protected boolean |
extensionsAreInitialized()
Called by subclasses to check if all extensions are initialized. |
|
java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> |
getAllFields()
Returns a collection of all the fields in this message which are set and their corresponding values. |
|
|
getExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension,
int index)
Get one element of a repeated extension. |
|
|
getExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension)
Get the value of an extension. |
|
|
getExtensionCount(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension)
Get the number of elements in a repeated extension. |
|
java.lang.Object |
getField(Descriptors.FieldDescriptor field)
Obtains the value of the given field, or the default value if it is not set. |
|
java.lang.Object |
getRepeatedField(Descriptors.FieldDescriptor field,
int index)
Gets an element of a repeated field. |
|
int |
getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Gets the number of elements of a repeated field. |
|
|
hasExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension)
Check if a singular extension is present. |
|
boolean |
hasField(Descriptors.FieldDescriptor field)
Returns true if the given field is set. |
|
boolean |
isInitialized()
Returns true if all required fields in the message and all embedded messages are set, false otherwise. |
|
protected void |
mergeExtensionFields(GeneratedMessage.ExtendableMessage other)
|
|
protected boolean |
parseUnknownField(CodedInputStream input,
UnknownFieldSet.Builder unknownFields,
ExtensionRegistryLite extensionRegistry,
int tag)
Called by subclasses to parse an unknown field or an extension. |
|
|
setExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension,
int index,
Type value)
Set the value of one element of a repeated extension. |
|
|
setExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension,
Type value)
Set the value of an extension. |
|
BuilderType |
setField(Descriptors.FieldDescriptor field,
java.lang.Object value)
Sets a field to the given value. |
|
BuilderType |
setRepeatedField(Descriptors.FieldDescriptor field,
int index,
java.lang.Object value)
Sets an element of a repeated field to the given value. |
Methods inherited from class com.google.protobuf.GeneratedMessage.Builder |
---|
getDescriptorForType, getParentForChildren, getUnknownFields, internalGetFieldAccessorTable, isClean, markClean, mergeUnknownFields, newBuilderForField, onBuilt, onChanged, setUnknownFields |
Methods inherited from class com.google.protobuf.AbstractMessage.Builder |
---|
mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException |
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder |
---|
addAll, newUninitializedMessageException |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.google.protobuf.MessageOrBuilder |
---|
getDefaultInstanceForType, getDescriptorForType, getUnknownFields |
Methods inherited from interface com.google.protobuf.Message.Builder |
---|
build, buildPartial |
Constructor Detail |
---|
protected GeneratedMessage.ExtendableBuilder()
protected GeneratedMessage.ExtendableBuilder(GeneratedMessage.BuilderParent parent)
Method Detail |
---|
public BuilderType clear()
GeneratedMessage.Builder
clear
in interface Message.Builder
clear
in interface MessageLite.Builder
clear
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public BuilderType clone()
MessageLite.Builder
clone
in interface Message.Builder
clone
in interface MessageLite.Builder
clone
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
Object.clone()
public final <Type> boolean hasExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension)
hasExtension
in interface GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>
public final <Type> int getExtensionCount(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension)
getExtensionCount
in interface GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>
public final <Type> Type getExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension)
getExtension
in interface GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>
public final <Type> Type getExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension, int index)
getExtension
in interface GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>
public final <Type> BuilderType setExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension, Type value)
public final <Type> BuilderType setExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension, int index, Type value)
public final <Type> BuilderType addExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension, Type value)
public final <Type> BuilderType clearExtension(GeneratedMessage.GeneratedExtension<MessageType,?> extension)
protected boolean extensionsAreInitialized()
public boolean isInitialized()
MessageLiteOrBuilder
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
protected boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag) throws java.io.IOException
parseUnknownField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
true
unless the tag is an end-group tag.
java.io.IOException
public java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
MessageOrBuilder
MessageOrBuilder.getField(Descriptors.FieldDescriptor)
for each field. The map
is guaranteed to be a sorted map, so iterating over it will return fields
in order by field number.
getAllFields
in interface MessageOrBuilder
getAllFields
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public java.lang.Object getField(Descriptors.FieldDescriptor field)
MessageOrBuilder
getField
in interface MessageOrBuilder
getField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
MessageOrBuilder
getRepeatedFieldCount
in interface MessageOrBuilder
getRepeatedFieldCount
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
MessageOrBuilder
getRepeatedField
in interface MessageOrBuilder
getRepeatedField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public boolean hasField(Descriptors.FieldDescriptor field)
MessageOrBuilder
hasField
in interface MessageOrBuilder
hasField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public BuilderType setField(Descriptors.FieldDescriptor field, java.lang.Object value)
Message.Builder
MessageOrBuilder.getField(Descriptors.FieldDescriptor)
would return.
setField
in interface Message.Builder
setField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public BuilderType clearField(Descriptors.FieldDescriptor field)
Message.Builder
clearField
in interface Message.Builder
clearField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public BuilderType setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Message.Builder
MessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor,int)
would
return.
setRepeatedField
in interface Message.Builder
setRepeatedField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
public BuilderType addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)
Message.Builder
setRepeatedField
, but appends the value as a new element.
addRepeatedField
in interface Message.Builder
addRepeatedField
in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>
protected final void mergeExtensionFields(GeneratedMessage.ExtendableMessage other)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |