private static final class GeneratedMessage.FieldAccessorTable.SingularStringFieldAccessor extends GeneratedMessage.FieldAccessorTable.SingularFieldAccessor
This class makes getFooBytes() and setFooBytes() available for reflection API so that reflection based serialize/parse functions can access the raw bytes of the field to preserve non-UTF8 bytes in the string.
This ensures the serialize/parse round-trip safety, which is important for servers which forward messages.
Modifier and Type | Field and Description |
---|---|
private java.lang.reflect.Method |
getBytesMethod |
private java.lang.reflect.Method |
getBytesMethodBuilder |
private java.lang.reflect.Method |
setBytesMethodBuilder |
caseMethod, caseMethodBuilder, clearMethod, field, getMethod, getMethodBuilder, hasHasMethod, hasMethod, hasMethodBuilder, isOneofField, setMethod, type
Constructor and Description |
---|
SingularStringFieldAccessor(Descriptors.FieldDescriptor descriptor,
java.lang.String camelCaseName,
java.lang.Class<? extends GeneratedMessage> messageClass,
java.lang.Class<? extends GeneratedMessage.Builder> builderClass,
java.lang.String containingOneofCamelCaseName) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getRaw(GeneratedMessage.Builder builder) |
java.lang.Object |
getRaw(GeneratedMessage message) |
void |
set(GeneratedMessage.Builder builder,
java.lang.Object value) |
addRepeated, clear, get, get, getBuilder, getRepeated, getRepeated, getRepeatedBuilder, getRepeatedCount, getRepeatedCount, getRepeatedRaw, getRepeatedRaw, has, has, newBuilder, setRepeated
private final java.lang.reflect.Method getBytesMethod
private final java.lang.reflect.Method getBytesMethodBuilder
private final java.lang.reflect.Method setBytesMethodBuilder
SingularStringFieldAccessor(Descriptors.FieldDescriptor descriptor, java.lang.String camelCaseName, java.lang.Class<? extends GeneratedMessage> messageClass, java.lang.Class<? extends GeneratedMessage.Builder> builderClass, java.lang.String containingOneofCamelCaseName)
public java.lang.Object getRaw(GeneratedMessage message)
getRaw
in interface GeneratedMessage.FieldAccessorTable.FieldAccessor
getRaw
in class GeneratedMessage.FieldAccessorTable.SingularFieldAccessor
public java.lang.Object getRaw(GeneratedMessage.Builder builder)
getRaw
in interface GeneratedMessage.FieldAccessorTable.FieldAccessor
getRaw
in class GeneratedMessage.FieldAccessorTable.SingularFieldAccessor
public void set(GeneratedMessage.Builder builder, java.lang.Object value)
set
in interface GeneratedMessage.FieldAccessorTable.FieldAccessor
set
in class GeneratedMessage.FieldAccessorTable.SingularFieldAccessor