Package com.google.protobuf
Class GeneratedMessage.FieldAccessorTable
- java.lang.Object
-
- com.google.protobuf.GeneratedMessage.FieldAccessorTable
-
- Direct Known Subclasses:
GeneratedMessageV3.FieldAccessorTable
- Enclosing class:
- GeneratedMessage
public static class GeneratedMessage.FieldAccessorTable extends java.lang.Object
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
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]
camelCaseNames
private Descriptors.Descriptor
descriptor
private GeneratedMessage.FieldAccessorTable.FieldAccessor[]
fields
private boolean
initialized
private GeneratedMessage.FieldAccessorTable.OneofAccessor[]
oneofs
-
Constructor Summary
Constructors Constructor Description FieldAccessorTable(Descriptors.Descriptor descriptor, java.lang.String[] camelCaseNames)
Construct a FieldAccessorTable for a particular message class without initializing FieldAccessors.FieldAccessorTable(Descriptors.Descriptor descriptor, java.lang.String[] camelCaseNames, java.lang.Class<? extends GeneratedMessage> messageClass, java.lang.Class<? extends GeneratedMessage.Builder<?>> builderClass)
Construct a FieldAccessorTable for a particular message class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GeneratedMessage.FieldAccessorTable
ensureFieldAccessorsInitialized(java.lang.Class<? extends GeneratedMessage> messageClass, java.lang.Class<? extends GeneratedMessage.Builder<?>> builderClass)
Ensures the field accessors are initialized.private GeneratedMessage.FieldAccessorTable.FieldAccessor
getField(Descriptors.FieldDescriptor field)
Get the FieldAccessor for a particular field.private GeneratedMessage.FieldAccessorTable.OneofAccessor
getOneof(Descriptors.OneofDescriptor oneof)
Get the OneofAccessor for a particular oneof.
-
-
-
Field Detail
-
descriptor
private final Descriptors.Descriptor descriptor
-
fields
private final GeneratedMessage.FieldAccessorTable.FieldAccessor[] fields
-
camelCaseNames
private java.lang.String[] camelCaseNames
-
oneofs
private final GeneratedMessage.FieldAccessorTable.OneofAccessor[] oneofs
-
initialized
private volatile boolean initialized
-
-
Constructor Detail
-
FieldAccessorTable
public FieldAccessorTable(Descriptors.Descriptor descriptor, java.lang.String[] camelCaseNames, java.lang.Class<? extends GeneratedMessage> messageClass, java.lang.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
public FieldAccessorTable(Descriptors.Descriptor descriptor, java.lang.String[] camelCaseNames)
Construct a FieldAccessorTable for a particular message class without initializing FieldAccessors.
-
-
Method Detail
-
ensureFieldAccessorsInitialized
public GeneratedMessage.FieldAccessorTable ensureFieldAccessorsInitialized(java.lang.Class<? extends GeneratedMessage> messageClass, java.lang.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.
-
-