Package com.google.protobuf
Class GeneratedMessageV3.FieldAccessorTable
java.lang.Object
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- Enclosing class:
GeneratedMessageV3
Users should ignore this class. This class provides the implementation
with access to the fields of a message object using Java reflection.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
Abstract interface that provides access to a single field.private static class
private static class
OneofAccessor provides access to a single oneof.private static final class
private static class
private static final class
private static final class
private static class
private static final class
private static final class
Field accessor for string fields. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String[]
private final Descriptors.Descriptor
private final GeneratedMessageV3.FieldAccessorTable.FieldAccessor[]
private boolean
private final GeneratedMessageV3.FieldAccessorTable.OneofAccessor[]
-
Constructor Summary
ConstructorsConstructorDescriptionFieldAccessorTable
(Descriptors.Descriptor descriptor, String[] camelCaseNames) Construct a FieldAccessorTable for a particular message class without initializing FieldAccessors.FieldAccessorTable
(Descriptors.Descriptor descriptor, String[] camelCaseNames, Class<? extends GeneratedMessageV3> messageClass, Class<? extends GeneratedMessageV3.Builder> builderClass) Construct a FieldAccessorTable for a particular message class. -
Method Summary
Modifier and TypeMethodDescriptionensureFieldAccessorsInitialized
(Class<? extends GeneratedMessageV3> messageClass, Class<? extends GeneratedMessageV3.Builder> builderClass) Ensures the field accessors are initialized.Get the FieldAccessor for a particular field.Get the OneofAccessor for a particular oneof.
-
Field Details
-
descriptor
-
fields
-
camelCaseNames
-
oneofs
-
initialized
private volatile boolean initialized
-
-
Constructor Details
-
FieldAccessorTable
public FieldAccessorTable(Descriptors.Descriptor descriptor, String[] camelCaseNames, Class<? extends GeneratedMessageV3> messageClass, Class<? extends GeneratedMessageV3.Builder> builderClass) Construct a FieldAccessorTable for a particular message class. Only one FieldAccessorTable should ever be constructed per class.- Parameters:
descriptor
- The type's descriptor.camelCaseNames
- The camelcase names of all fields in the message. These are used to derive the accessor method names.messageClass
- The message type.builderClass
- The builder type.
-
FieldAccessorTable
Construct a FieldAccessorTable for a particular message class without initializing FieldAccessors.
-
-
Method Details
-
ensureFieldAccessorsInitialized
public GeneratedMessageV3.FieldAccessorTable ensureFieldAccessorsInitialized(Class<? extends GeneratedMessageV3> messageClass, Class<? extends GeneratedMessageV3.Builder> builderClass) Ensures the field accessors are initialized. This method is thread-safe.- Parameters:
messageClass
- The message type.builderClass
- The builder type.- Returns:
- this
-
getField
private GeneratedMessageV3.FieldAccessorTable.FieldAccessor getField(Descriptors.FieldDescriptor field) Get the FieldAccessor for a particular field. -
getOneof
private GeneratedMessageV3.FieldAccessorTable.OneofAccessor getOneof(Descriptors.OneofDescriptor oneof) Get the OneofAccessor for a particular oneof.
-