public abstract static class GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder> extends GeneratedMessage.Builder<BuilderType> implements GeneratedMessage.ExtendableMessageOrBuilder<MessageType>
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.
| Modifier and Type | Method and Description |
|---|---|
<Type> BuilderType |
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.
|
<Type> BuilderType |
clearExtension(GeneratedMessage.GeneratedExtension<MessageType,?> extension)
Clear an extension.
|
BuilderType |
clearField(Descriptors.FieldDescriptor field)
Clears the field.
|
BuilderType |
clone()
Clones the Builder.
|
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.
|
<Type> Type |
getExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension,
int index)
Get one element of a repeated extension.
|
<Type> Type |
getExtension(GeneratedMessage.GeneratedExtension<MessageType,Type> extension)
Get the value of an extension.
|
<Type> int |
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.
|
<Type> boolean |
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.
|
<Type> BuilderType |
setExtension(GeneratedMessage.GeneratedExtension<MessageType,java.util.List<Type>> extension,
int index,
Type value)
Set the value of one element of a repeated extension.
|
<Type> BuilderType |
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.
|
getDescriptorForType, getFieldBuilder, getUnknownFields, mergeUnknownFields, newBuilderForField, setUnknownFieldsfindInitializationErrors, getInitializationErrorString, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFromequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfindInitializationErrors, getDefaultInstanceForType, getDescriptorForType, getInitializationErrorString, getUnknownFieldsbuild, buildPartialpublic BuilderType clear()
GeneratedMessage.Builderclear in interface Message.Builderclear in interface MessageLite.Builderclear in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public BuilderType clone()
MessageLite.Builderclone in interface Message.Builderclone in interface MessageLite.Builderclone 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)
public boolean isInitialized()
MessageLiteOrBuilderisInitialized in interface MessageLiteOrBuilderisInitialized in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
MessageOrBuilderMessageOrBuilder.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 MessageOrBuildergetAllFields in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public java.lang.Object getField(Descriptors.FieldDescriptor field)
MessageOrBuildergetField in interface MessageOrBuildergetField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
MessageOrBuildergetRepeatedFieldCount in interface MessageOrBuildergetRepeatedFieldCount in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
MessageOrBuildergetRepeatedField in interface MessageOrBuildergetRepeatedField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public boolean hasField(Descriptors.FieldDescriptor field)
MessageOrBuilderhasField in interface MessageOrBuilderhasField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public BuilderType setField(Descriptors.FieldDescriptor field, java.lang.Object value)
Message.BuilderMessageOrBuilder.getField(Descriptors.FieldDescriptor) would return.setField in interface Message.BuildersetField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public BuilderType clearField(Descriptors.FieldDescriptor field)
Message.BuilderclearField in interface Message.BuilderclearField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public BuilderType setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Message.BuilderMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor,int) would
return.setRepeatedField in interface Message.BuildersetRepeatedField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>public BuilderType addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)
Message.BuildersetRepeatedField, but appends the value as a new element.addRepeatedField in interface Message.BuilderaddRepeatedField in class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.ExtendableBuilder>