@@ -44,21 +44,13 @@ public static ProtoTypeMap of(@Nonnull Collection<DescriptorProtos.FileDescripto
4444 final DescriptorProtos .FileOptions fileOptions = fileDescriptor .getOptions ();
4545
4646 final String protoPackage = fileDescriptor .hasPackage () ? "." + fileDescriptor .getPackage () : "" ;
47- final String javaPackage = Strings .emptyToNull (
48- fileOptions .hasJavaPackage () ?
49- fileOptions .getJavaPackage () :
50- fileDescriptor .getPackage ());
51- final String enclosingClassName =
52- fileOptions .getJavaMultipleFiles () ?
53- null :
54- getJavaOuterClassname (fileDescriptor , fileOptions );
55-
47+ final String javaPackage = Strings .emptyToNull (fileOptions .hasJavaPackage () ? fileOptions .getJavaPackage () : fileDescriptor .getPackage ());
48+ final String enclosingClassName = fileOptions .getJavaMultipleFiles () ? null : getJavaOuterClassname (fileDescriptor );
5649
5750 // Identify top-level enums
58- fileDescriptor .getEnumTypeList ().forEach (
59- e -> types .put (
60- protoPackage + "." + e .getName (),
61- DOT_JOINER .join (javaPackage , enclosingClassName , e .getName ())));
51+ fileDescriptor .getEnumTypeList ().forEach (e -> types .put (
52+ protoPackage + "." + e .getName (),
53+ DOT_JOINER .join (javaPackage , enclosingClassName , e .getName ())));
6254
6355 // Identify top-level messages, and nested types
6456 fileDescriptor .getMessageTypeList ().forEach (
@@ -102,9 +94,15 @@ public String toJavaTypeName(@Nonnull String protoTypeName) {
10294 return types .get (protoTypeName );
10395 }
10496
105- private static String getJavaOuterClassname (
106- DescriptorProtos .FileDescriptorProto fileDescriptor ,
107- DescriptorProtos .FileOptions fileOptions ) {
97+ /**
98+ * Computes the Java outer class name for a given FileDescriptorProto, for use when multiple classes are generated
99+ * in the same outer class.
100+ * @param fileDescriptor
101+ * @return
102+ */
103+ public static String getJavaOuterClassname (DescriptorProtos .FileDescriptorProto fileDescriptor ) {
104+ Preconditions .checkNotNull (fileDescriptor , "fileDescriptor" );
105+ DescriptorProtos .FileOptions fileOptions = fileDescriptor .getOptions ();
108106
109107 if (fileOptions .hasJavaOuterClassname ()) {
110108 return fileOptions .getJavaOuterClassname ();
0 commit comments