You're using the java_multiple_files option, I take it? The outer class is still necessary to store the file's descriptor and any top-level extension definitions. I suppose the descriptor could be moved into the first class defined in the file but it will take some work and seems like a low priority. I don't think it ever makes sense to put the extensions inside some other class but not all protos have top-level extensions.
On Thu, Nov 13, 2008 at 10:04 AM, bmadigan <[EMAIL PROTECTED]> wrote: > > I think I'm missing somthing in the style guidelines. If I have a > proto file called "trip_summary.proto", which contains a message > "TripSummary", protoc throws the following error: > > -protoc-single: > [exec] --java_out: trip_summary.proto: Cannot generate Java > output because the file's outer class name, "TripSummary", matches the > name of one of the types declared inside it. Please either rename the > type or use the java_outer_classname option to specify a different > outer class name for the .proto file > > So, renaming the file to 'trip_summary_protos.proto', protoc generates > 2 Java files, one called TripSummaryProtos.java, containing a static > TripSummaryProtos, which contains an inner TripSummary class. > Setting the option 'java_multiple_files=true', I get 2 java files, > with the TripSummary class referencing all of the static members of > TripSummaryProtos. This doesn't cause any problems with using > TripSummary class (that I know of), but why is the container class > necessary? > Should I just define all of my messages in one file and ignore the > outer class in my code? > -bmadigan > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---