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
-~----------~----~----~----~------~----~------~--~---

Reply via email to