Class GeneratedMessage.FieldAccessorTable
java.lang.Object
com.google.protobuf.GeneratedMessage.FieldAccessorTable
- Direct Known Subclasses:
GeneratedMessageV3.FieldAccessorTable
- Enclosing class:
GeneratedMessage
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 interfaceAbstract interface that provides access to a single field.private static classprivate static interfaceOneofAccessor provides access to a single oneof.private static classRealOneofAccessor provides access to a single real oneof.private static final classprivate static classprivate static final classprivate static final classprivate static classprivate static final classprivate static final classField accessor for string fields.private static classSyntheticOneofAccessor provides access to a single synthetic oneof. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String[]private final Descriptors.Descriptorprivate final GeneratedMessage.FieldAccessorTable.FieldAccessor[]private booleanprivate final GeneratedMessage.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 GeneratedMessage> messageClass, Class<? extends GeneratedMessage.Builder<?>> builderClass) Construct a FieldAccessorTable for a particular message class. -
Method Summary
Modifier and TypeMethodDescriptionensureFieldAccessorsInitialized(Class<? extends GeneratedMessage> messageClass, Class<? extends GeneratedMessage.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 GeneratedMessage> messageClass, Class<? extends GeneratedMessage.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
@CanIgnoreReturnValue public GeneratedMessage.FieldAccessorTable ensureFieldAccessorsInitialized(Class<? extends GeneratedMessage> messageClass, Class<? extends GeneratedMessage.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 GeneratedMessage.FieldAccessorTable.FieldAccessor getField(Descriptors.FieldDescriptor field) Get the FieldAccessor for a particular field. -
getOneof
private GeneratedMessage.FieldAccessorTable.OneofAccessor getOneof(Descriptors.OneofDescriptor oneof) Get the OneofAccessor for a particular oneof.
-