Hello, Ilya.

I don’t get your point

> We don’t passing … binary, just a … BinaryObjeсtBuilder.

May be we should go with `setBinaryObjectBuilderField` or 
`setBinaryObjectField`?


> 6 дек. 2019 г., в 13:38, Ilya Kasnacheev <ilya.kasnach...@gmail.com> 
> написал(а):
> 
> Hello!
> 
> I can see where you are getting at, can we call it "setFieldNested" instead
> or something like that?
> 
> setBinaryField is confusing because we're not passing anything especially
> binary, just a nested BinaryObjectBuilder.
> 
> Regards,
> -- 
> Ilya Kasnacheev
> 
> 
> пт, 6 дек. 2019 г. в 13:17, Николай Ижиков <nizhi...@apache.org>:
> 
>> Hello, Igniters.
>> 
>> We have confusing API in `BinaryObjectBuilder` class.
>> 
>> The code below leads to the `ClassCastException`
>> The cause is java method resolution rules [1]
>> 
>>> There may be more than one such method, in which case the most specific
>> one is chosen
>> 
>> I suggest to deprecate `setField(String name, @Nullable
>> BinaryObjectBuilder builder);` method and introduce
>> `setBinaryField(String name, @Nullable BinaryObjectBuilder builder);`
>> instead of it.
>> 
>> What do you think?
>> 
>> ```
>> public class BugTest extends GridCommonAbstractTest {
>>    @Test public void testBinaryObject() throws Exception {
>>        try (Ignite ignite = startGrid(0)) {
>>            BinaryObjectBuilder builder =
>> ignite.binary().builder("testVal")
>>                .setField("name", "John Doe", String.class);
>> 
>>            builder.setField("name", builder.getField("name"));
>>        }
>>    }
>> }
>> ```
>> 
>> [1]
>> https://docs.oracle.com/javase/specs/jls/se11/html/jls-15.html#jls-15.12.2

Reply via email to