Java Proto Names

Immutable API Message Names

The names for protos generated by the immutable API (java_proto_library BUILD target) are listed in the following table.

java_api_versionjava_multiple_filesjava_alt_api_packagejava_packagejava_outer_classnameGenerated full message name
1trueDefined-$java_alt_api_package.$message
1trueNot definedNot definedcom.google.protos.$package.proto2api.$message
1trueNot definedDefined$java_package.proto2api.$message
1falseDefined-Not defined$java_alt_api_package.$derived_outer_class.$message
1falseDefined-Defined$java_alt_api_package.$java_outer_classname.$message
1falseNot definedNot definedNot definedcom.google.protos.$package.proto2api.$derived_outer_class.$message
1falseNot definedNot definedDefinedcom.google.protos.$package.proto2api.$java_outer_classname.$message
1falseNot definedDefinedNot defined$java_package.proto2api.$derived_outer_class.$message
1falseNot definedDefinedDefined$java_package.proto2api.$java_outer_classname.$message
2true-Not defined-com.google.protos.$package.$message
2true-Defined-$java_package.$message
2false-Not definedNot definedcom.google.protos.$package.$derived_outer_class.$message
2false-Not definedDefinedcom.google.protos.$package.$java_outer_classname.$message
2false-DefinedNot defined$java_package.$derived_outer_class.$message
2false-DefinedDefined$java_package.$java_outer_classname.$message

Legend

The recommended set of options is:

option java_multiple_files = true;
option java_outer_classname = "{UpperCamelCaseFilename}Proto";

Mutable API Message Names

The names for protos generated by the mutable API are outlined in the following sections.

Generated Proto API Version

java_api_versionjava_mutable_apijava_enable_dual_generate_mutable_apiAPI version
--trueproto1, proto2 mutable
1-falseproto1
2truefalseproto2 mutable
2falsefalseproto1

Proto2 Message Names

java_api_version(java_multiple_files, java_multiple_files_mutable_package)java_packagejava_outer_classnamejava_alt_api_packageProto2 Mutable message name
-(true, defined)---$java_multiple_files_mutable_package.$message
1!(true, defined)UndefinedUndefinedUndefinedcom.google.protos.$package.proto2api.Mutable$Filename.$message
1!(true, defined)UndefinedUndefinedDefined$java_alt_api_package.Mutable$Filename.$message
1!(true, defined)UndefinedDefinedUndefinedcom.google.protos.$package.proto2api.Mutable$java_outer_classname.$message
1!(true, defined)UndefinedDefinedDefined$java_alt_api_package.Mutable$java_outer_classname.$message
1!(true, defined)DefinedUndefinedUndefined$java_package.proto2api.Mutable$Filename.$message
1!(true, defined)DefinedUndefinedDefined$java_alt_api_package.Mutable$Filename.$message
1!(true, defined)DefinedDefinedUndefined$java_package.proto2api.Mutable$java_outer_classname.$message
1!(true, defined)DefinedDefinedDefined$java_alt_api_package.Mutable$java_outer_classname.$message
2!(true, defined)UndefinedUndefined-com.google.protos.$package.Mutable$Filename.$message
2!(true, defined)UndefinedDefined-com.google.protos.$package..Mutable$java_outer_classname.$message
2!(true, defined)DefinedUndefined-$java_package.Mutable$Filename.$message
2!(true, defined)DefinedDefined-$java_package.Mutable$java_outer_classname.$message

Legend

Proto1 Message Names

java_api_versionjava_multiple_filesjava_packagejava_outer_classnamejava_alt_api_packageProto1 message name
1trueUndefined--com.google.protos.$package.$message
1trueDefined--$java_package.$message
1falseUndefinedDefined-com.google.protos.$package.$java_outer_class.$message
1falseUndefinedUndefined-com.google.protos.$package.$message
1falseDefinedDefined-$java_package.$java_outer_class.$message
1falseDefinedUndefined-$java_package.$message
2trueUndefined-Undefinedcom.google.protos.$package.proto1api.$message
2trueDefined-Undefined$java_package.proto1api.$message
2falseUndefinedDefinedUndefinedcom.google.protos.$package.proto1api.$java_outer_class.$message
2falseUndefinedUndefinedUndefinedcom.google.protos.$package.proto1api.$message
2falseDefinedDefinedUndefined$java_package.proto1api.$java_outer_class.$message
2falseDefinedUndefinedUndefined$java_package.proto1api.$message
2trueUndefined-Definedcom.google.protos.$package.$java_alt_api_package.$message
2trueDefined-Defined$java_package.$java_alt_api_package.$message
2falseUndefinedDefinedDefinedcom.google.protos.$package.$java_alt_api_package.$java_outer_class.$message
2falseUndefinedUndefinedDefinedcom.google.protos.$package.$java_alt_api_package.$message
2falseDefinedDefinedDefined$java_package.$java_alt_api_package.$java_outer_class.$message
2falseDefinedUndefinedDefined$java_package.$java_alt_api_package.$message

Legend