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 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 GeneratedMessageV3.FieldAccessorTable.FieldAccessor[]private booleanprivate 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.
-