Igniters, I was creating an example showing how to use BinaryObjects and EntryProcessor for the case when server nodes do not have cache classes definitions and realized that there is no straightforward way to get an instance of BinaryObjectBuilder inside of an EntryProcessor.
Currently the only way to do this is to inject an instance of Ignite to the instance of EntryProcessor and get a reference to IgniteBinary from it, which looks a bit too verbose to me: class MyEntryProcessor { @IgniteInstanceResource private Ignite ignite; BinaryObject invoke(...) { BinaryObjectBulder bld = ignite.binary().builder(entry.getValue()); entry.setValue(bld.setField("a", 2).build()); } } I think we can add something like a "BinaryBuilder buildCopy();" method to the BinaryObject interface which will create a new binary builder initialized with the current binary object. Now the above EntryProcessor will look as follows: class MyEntryProcessor { BinaryObject invoke(...) { entry.setValue(entry.getValue().buildCopy().setField("a", 2).build()); } } Thoughts?