Yep, BinaryObjectBuilder should definitely be a solution for this. You can obtain an instance of Ignite from IgniteContext and use the IgniteBinary interface to get an instance of BinaryObjectBuilder to build object structures dynamically. And you can use QueryEntity class to describe the index configuration for the binary objects being stored in cache. Once the binary object is built, you can save it to Ignite using the same savePairs() method.
I am surprised we do not have any examples for BinaryObjectBuilder, however, you can take a look at the CacheJdbcPojoStore source code [1] to get an idea how the builder works. You can also take a look at the documentation [2]. Hope this helps! [1] https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java [2] https://apacheignite.readme.io/docs/binary-marshaller
