Package com.google.protobuf
Class GeneratorNames
- java.lang.Object
-
- com.google.protobuf.GeneratorNames
-
public final class GeneratorNames extends java.lang.ObjectClass containing helper methods for predicting names of generated java classes.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateGeneratorNames()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringgetBytecodeClassName(Descriptors.Descriptor message)Returns the fully qualified Java bytecode class name for the given message descriptor.static java.lang.StringgetBytecodeClassName(Descriptors.EnumDescriptor enm)Returns the fully qualified Java bytecode class name for the given enum descriptor.(package private) static java.lang.StringgetBytecodeClassName(Descriptors.ServiceDescriptor service)Returns the fully qualified Java bytecode class name for the given service descriptor.private static java.lang.StringgetClassFullName(java.lang.String nameWithoutPackage, Descriptors.FileDescriptor file, boolean isOwnFile)(package private) static java.lang.StringgetClassNameWithoutPackage(Descriptors.Descriptor message)Returns the name of the given message descriptor without the package name prefix.(package private) static java.lang.StringgetClassNameWithoutPackage(Descriptors.EnumDescriptor enm)Returns the name of the given enum descriptor without the package name prefix.(package private) static java.lang.StringgetClassNameWithoutPackage(Descriptors.ServiceDescriptor service)Returns the name of the given service descriptor without the package name prefix.(package private) static java.lang.StringgetDefaultFileClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file, boolean useOldOuterClassnameDefault)Returns the default unqualified file class name for the given file.(package private) static java.lang.StringgetDefaultJavaPackage(DescriptorProtos.FileOptions fileOptions, java.lang.String filePackage)Returns the default java package for the given file.static java.lang.StringgetFileClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file)Returns the generated unqualified outer file class name for the given file descriptor proto.static java.lang.StringgetFileClassName(Descriptors.FileDescriptor file)Returns the generated unqualified outer file class name for the given file descriptor.private static java.lang.StringgetFileClassNameImpl(DescriptorProtos.FileDescriptorProtoOrBuilder file, JavaFeaturesProto.JavaFeatures resolvedFeatures)static java.lang.StringgetFileJavaPackage(DescriptorProtos.FileDescriptorProtoOrBuilder file)Returns the generated package for the given file descriptor proto.static java.lang.StringgetFileJavaPackage(Descriptors.FileDescriptor file)Returns the generated package for the given file descriptor.static booleangetNestInFileClass(Descriptors.Descriptor descriptor)static booleangetNestInFileClass(Descriptors.EnumDescriptor descriptor)private static booleangetNestInFileClass(Descriptors.FileDescriptor file, JavaFeaturesProto.JavaFeatures resolvedFeatures)Returns the nest_in_file_class behavior for a given set of features in a specific file.private static booleangetNestInFileClass(Descriptors.ServiceDescriptor descriptor)(package private) static java.lang.StringgetProto2ApiDefaultJavaPackage(DescriptorProtos.FileOptions fileOptions, java.lang.String filePackage)Returns the package name to use for a file that is being compiled as proto2-API.static java.lang.StringgetQualifiedClassName(Descriptors.Descriptor message)Returns the fully qualified Java class name for the given message descriptor.static java.lang.StringgetQualifiedClassName(Descriptors.EnumDescriptor enm)Returns the fully qualified Java class name for the given enum descriptor.static java.lang.StringgetQualifiedClassName(Descriptors.ServiceDescriptor service)Returns the fully qualified Java class name for the given service descriptor.(package private) static java.lang.StringgetQualifiedFromBytecodeClassName(java.lang.String bytecodeClassName)(package private) static <T extends Message>
TgetResolvedFileFeatures(GeneratedMessage.GeneratedExtension<DescriptorProtos.FeatureSet,T> ext, DescriptorProtos.FileDescriptorProtoOrBuilder file)Returns the resolved features for the given descriptor proto.private static booleanhasConflictingClassName(DescriptorProtos.DescriptorProto messageDesc, java.lang.String name)Used by the other overload, descends recursively into messages.private static booleanhasConflictingClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file, java.lang.String name)Checks whether any generated classes conflict with the given name.(package private) static java.lang.StringjoinPackage(java.lang.String a, java.lang.String b)Joins two package segments into a single package name with a dot separator.(package private) static java.lang.StringstripPackageName(java.lang.String fullName, Descriptors.FileDescriptor file)Returns the name of the given descriptor without the package name prefix.private static java.lang.StringstripProto(java.lang.String filename)(package private) static java.lang.StringunderscoresToCamelCase(java.lang.String input)(package private) static java.lang.StringunderscoresToCamelCase(java.lang.String input, boolean capitalizeNextLetter)Converts a name to camel-case.
-
-
-
Method Detail
-
getFileJavaPackage
public static java.lang.String getFileJavaPackage(DescriptorProtos.FileDescriptorProtoOrBuilder file)
Returns the generated package for the given file descriptor proto.
-
getFileJavaPackage
public static java.lang.String getFileJavaPackage(Descriptors.FileDescriptor file)
Returns the generated package for the given file descriptor.
-
getDefaultJavaPackage
static java.lang.String getDefaultJavaPackage(DescriptorProtos.FileOptions fileOptions, java.lang.String filePackage)
Returns the default java package for the given file.
-
joinPackage
static java.lang.String joinPackage(java.lang.String a, java.lang.String b)Joins two package segments into a single package name with a dot separator.
-
getProto2ApiDefaultJavaPackage
static java.lang.String getProto2ApiDefaultJavaPackage(DescriptorProtos.FileOptions fileOptions, java.lang.String filePackage)
Returns the package name to use for a file that is being compiled as proto2-API. If the file is declared as proto1-API, this may involve using the alternate package name.
-
getFileClassName
public static java.lang.String getFileClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file)
Returns the generated unqualified outer file class name for the given file descriptor proto.
-
getFileClassName
public static java.lang.String getFileClassName(Descriptors.FileDescriptor file)
Returns the generated unqualified outer file class name for the given file descriptor.
-
getFileClassNameImpl
private static java.lang.String getFileClassNameImpl(DescriptorProtos.FileDescriptorProtoOrBuilder file, JavaFeaturesProto.JavaFeatures resolvedFeatures)
-
getResolvedFileFeatures
static <T extends Message> T getResolvedFileFeatures(GeneratedMessage.GeneratedExtension<DescriptorProtos.FeatureSet,T> ext, DescriptorProtos.FileDescriptorProtoOrBuilder file)
Returns the resolved features for the given descriptor proto.This method isn't actually naming-specific, but lives here for now because it's the only place it's needed. Once we have a better home for dealing with features in code generators, this should move.
-
getDefaultFileClassName
static java.lang.String getDefaultFileClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file, boolean useOldOuterClassnameDefault)
Returns the default unqualified file class name for the given file.- Parameters:
file- the file descriptor protouseOldOuterClassnameDefault- whether to use the old default for the outer classname
-
stripProto
private static java.lang.String stripProto(java.lang.String filename)
-
hasConflictingClassName
private static boolean hasConflictingClassName(DescriptorProtos.FileDescriptorProtoOrBuilder file, java.lang.String name)
Checks whether any generated classes conflict with the given name.
-
hasConflictingClassName
private static boolean hasConflictingClassName(DescriptorProtos.DescriptorProto messageDesc, java.lang.String name)
Used by the other overload, descends recursively into messages.
-
underscoresToCamelCase
static java.lang.String underscoresToCamelCase(java.lang.String input, boolean capitalizeNextLetter)Converts a name to camel-case.- Parameters:
input- the input string to convertcapitalizeNextLetter- whether to capitalize the first letter
-
underscoresToCamelCase
static java.lang.String underscoresToCamelCase(java.lang.String input)
-
getBytecodeClassName
public static java.lang.String getBytecodeClassName(Descriptors.Descriptor message)
Returns the fully qualified Java bytecode class name for the given message descriptor.Nested classes will use '$' as the separator, rather than '.'.
-
getBytecodeClassName
public static java.lang.String getBytecodeClassName(Descriptors.EnumDescriptor enm)
Returns the fully qualified Java bytecode class name for the given enum descriptor.Nested classes will use '$' as the separator, rather than '.'.
-
getBytecodeClassName
static java.lang.String getBytecodeClassName(Descriptors.ServiceDescriptor service)
Returns the fully qualified Java bytecode class name for the given service descriptor.Nested classes will use '$' as the separator, rather than '.'.
-
getQualifiedFromBytecodeClassName
static java.lang.String getQualifiedFromBytecodeClassName(java.lang.String bytecodeClassName)
-
getQualifiedClassName
public static java.lang.String getQualifiedClassName(Descriptors.Descriptor message)
Returns the fully qualified Java class name for the given message descriptor.Nested classes will use '.' as the separator, rather than '$'.
-
getQualifiedClassName
public static java.lang.String getQualifiedClassName(Descriptors.EnumDescriptor enm)
Returns the fully qualified Java class name for the given enum descriptor.Nested classes will use '.' as the separator, rather than '$'.
-
getQualifiedClassName
public static java.lang.String getQualifiedClassName(Descriptors.ServiceDescriptor service)
Returns the fully qualified Java class name for the given service descriptor.Nested classes will use '.' as the separator, rather than '$'.
-
getClassFullName
private static java.lang.String getClassFullName(java.lang.String nameWithoutPackage, Descriptors.FileDescriptor file, boolean isOwnFile)
-
getNestInFileClass
private static boolean getNestInFileClass(Descriptors.FileDescriptor file, JavaFeaturesProto.JavaFeatures resolvedFeatures)
Returns the nest_in_file_class behavior for a given set of features in a specific file.
-
getNestInFileClass
public static boolean getNestInFileClass(Descriptors.Descriptor descriptor)
-
getNestInFileClass
public static boolean getNestInFileClass(Descriptors.EnumDescriptor descriptor)
-
getNestInFileClass
private static boolean getNestInFileClass(Descriptors.ServiceDescriptor descriptor)
-
stripPackageName
static java.lang.String stripPackageName(java.lang.String fullName, Descriptors.FileDescriptor file)Returns the name of the given descriptor without the package name prefix.
-
getClassNameWithoutPackage
static java.lang.String getClassNameWithoutPackage(Descriptors.Descriptor message)
Returns the name of the given message descriptor without the package name prefix.
-
getClassNameWithoutPackage
static java.lang.String getClassNameWithoutPackage(Descriptors.EnumDescriptor enm)
Returns the name of the given enum descriptor without the package name prefix.
-
getClassNameWithoutPackage
static java.lang.String getClassNameWithoutPackage(Descriptors.ServiceDescriptor service)
Returns the name of the given service descriptor without the package name prefix.
-
-