Class DescriptorMessageInfoFactory

    • Field Detail

      • GET_DEFAULT_INSTANCE_METHOD_NAME

        private static final java.lang.String GET_DEFAULT_INSTANCE_METHOD_NAME
        See Also:
        Constant Field Values
      • specialFieldNames

        private static final java.util.Set<java.lang.String> specialFieldNames
        Names that should be avoided (in UpperCamelCase format). Using them causes the compiler to generate accessors whose names collide with methods defined in base classes.

        Keep this list in sync with kForbiddenWordList in src/google/protobuf/compiler/java/java_helpers.cc

    • Constructor Detail

      • DescriptorMessageInfoFactory

        private DescriptorMessageInfoFactory()
    • Method Detail

      • isSupported

        public boolean isSupported​(java.lang.Class<?> messageType)
        Description copied from interface: MessageInfoFactory
        Whether the message class is supported by this factory.
        Specified by:
        isSupported in interface MessageInfoFactory
      • getDefaultInstance

        private static Message getDefaultInstance​(java.lang.Class<?> messageType)
      • descriptorForType

        private static Descriptors.Descriptor descriptorForType​(java.lang.Class<?> messageType)
      • needsIsInitializedCheck

        private static boolean needsIsInitializedCheck​(Descriptors.Descriptor descriptor)
      • bitField

        private static java.lang.reflect.Field bitField​(java.lang.Class<?> messageType,
                                                        int index)
      • cachedSizeField

        private static java.lang.reflect.Field cachedSizeField​(java.lang.Class<?> messageType,
                                                               Descriptors.FieldDescriptor fd)
      • field

        private static java.lang.reflect.Field field​(java.lang.Class<?> messageType,
                                                     java.lang.String fieldName)
      • snakeCaseToLowerCamelCase

        private static java.lang.String snakeCaseToLowerCamelCase​(java.lang.String snakeCase)
        Converts a snake case string into lower camel case.

        Some examples:

             snakeCaseToLowerCamelCase("foo_bar") => "fooBar"
             snakeCaseToLowerCamelCase("foo") => "foo"
         
        Parameters:
        snakeCase - the string in snake case to convert
        Returns:
        the string converted to camel case, with a lowercase first character
      • snakeCaseToUpperCamelCase

        private static java.lang.String snakeCaseToUpperCamelCase​(java.lang.String snakeCase)
        Converts a snake case string into upper camel case.

        Some examples:

             snakeCaseToUpperCamelCase("foo_bar") => "FooBar"
             snakeCaseToUpperCamelCase("foo") => "Foo"
         
        Parameters:
        snakeCase - the string in snake case to convert
        Returns:
        the string converted to camel case, with an uppercase first character
      • snakeCaseToCamelCase

        private static java.lang.String snakeCaseToCamelCase​(java.lang.String snakeCase,
                                                             boolean capFirst)
        Converts a snake case string into camel case.

        For better readability, prefer calling either snakeCaseToLowerCamelCase(String) or snakeCaseToUpperCamelCase(String).

        Some examples:

             snakeCaseToCamelCase("foo_bar", false) => "fooBar"
             snakeCaseToCamelCase("foo_bar", true) => "FooBar"
             snakeCaseToCamelCase("foo", false) => "foo"
             snakeCaseToCamelCase("foo", true) => "Foo"
             snakeCaseToCamelCase("Foo", false) => "foo"
             snakeCaseToCamelCase("fooBar", false) => "fooBar"
         

        This implementation of this method must exactly match the corresponding function in the protocol compiler. Specifically, the UnderscoresToCamelCase function in src/google/protobuf/compiler/java/java_helpers.cc.

        Parameters:
        snakeCase - the string in snake case to convert
        capFirst - true if the first letter of the returned string should be uppercase. false if the first letter of the returned string should be lowercase.
        Returns:
        the string converted to camel case, with an uppercase or lowercase first character depending on if capFirst is true or false, respectively
      • getOneofStoredTypeForMessage

        private static java.lang.Class<?> getOneofStoredTypeForMessage​(java.lang.Class<?> messageType,
                                                                       Descriptors.FieldDescriptor fd)
        Inspects the message to identify the stored type for a message field that is part of a oneof.
      • getTypeForRepeatedMessageField

        private static java.lang.Class<?> getTypeForRepeatedMessageField​(java.lang.Class<?> messageType,
                                                                         Descriptors.FieldDescriptor fd)
        Inspects the message to identify the message type of a repeated message field.
      • getterForField

        private static java.lang.String getterForField​(java.lang.String snakeCase)
        Constructs the name of the get method for the given field in the proto.