You can find the algorithm in source code.
http://code.google.com/p/protobuf/source/browse/trunk/src/google/protobuf/compiler/java/java_helpers.cc

On Wed, Mar 16, 2011 at 2:42 PM, Ravi <ravikumarkulan...@gmail.com> wrote:
> Hi Thanks a lot for your time.
>
> Yes the approach looks very clean as the api getField and setField are
> in built. I think we would go with this approach.
>
> But i am just curious to know whether protobuf published anywhere the
> algorithm for deriving getter and setter method names.
>
> Thanks,
> Ravikumar K
>
> On Mar 15, 3:09 pm, Dmitriy Ryaboy <dvrya...@gmail.com> wrote:
>> We needed to do something similar for our project "Elephant-Bird" that
>> provides support for working with Protocol Buffers in Hadoop.
>>
>> Protobufs have Descriptors that allow you to determine all of these things
>> on the fly, without encoding method naming rules and such.
>>
>> Here is the relevant snippet 
>> fromhttps://github.com/kevinweil/elephant-bird/blob/master/src/java/com/t...
>>
>> public static Message addField(Message m, String name, Object value) {
>>     Message.Builder builder = m.toBuilder();
>>     setFieldByName(builder, name, value);
>>     return builder.build();
>>
>> }
>>
>> public static void setFieldByName(Message.Builder builder, String
>> name, Object value) {
>>     FieldDescriptor fieldDescriptor =
>> builder.getDescriptorForType().findFieldByName(name);
>>     if (value == null) {
>>       builder.clearField(fieldDescriptor);
>>     } else {
>>       builder.setField(fieldDescriptor, value);
>>     }
>>   }
>> *
>> *
>>
>> On Tue, Mar 15, 2011 at 2:19 AM, Ravi <ravikumarkulan...@gmail.com> wrote:
>> > Hi,
>>
>> > We would like to know how to determine the getter and setter method
>> > names generated in java builder class for a particular field defined
>> > in proto message.
>>
>> > Of course, the simple rule says that
>> > * Convert first letter of the field name to upper case
>> > * prefix "get" or "set" to the field name
>>
>> > But we want to know all the cases considered while generating builder
>> > class.
>> > Like what are the special characters considered? what are the
>> > exceptional cases?
>>
>> > Why we want this is,
>> > In our framework we would be programmatically generating proto files
>> > from the xsds which we have already.
>>
>> > Along with this we would be generating an adapter class between our
>> > framework and the java class generated by protoc compiler.
>>
>> > This adapter would call getter and setter methods of the builder class
>> > available in the builder class to retrieve the value and to build the
>> > object.
>>
>> > Any help would be appreciated.
>>
>> > Thanks,
>> > Ravikumar K
>>
>> > --
>> > 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
>> > protobuf+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> >http://groups.google.com/group/protobuf?hl=en.
>
> --
> 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 
> protobuf+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/protobuf?hl=en.
>
>

-- 
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 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to