编写两个二进制对象

时间:2017-05-22 09:49:23

标签: java ignite

我有两个BinaryObject s:

BinaryObject bo1;
BinaryObject bo2;

有没有办法组合这两个二进制对象。我的意思是将bo1中的所有字段添加到bo2中不存在的bo2?我试过了

bo1.toBuilder();
bo2.toBuilder();

但是我没有找到将这些构建器组合成我需要的构建器的方法。事情是我不知道这些对象中的字段。

实际上我将BinaryObject s缓存为值。我正在写StreamReceiver以按照我上面指定的方式更新其值。这样我就必须实现以下方法:

@Override
public void receive(IgniteCache<String, BinaryObject> cache, Collection<Map.Entry<String, BinaryObject>> entries) throws IgniteException {
    BinaryObject objOld = cache.get(entry.getKey());      
    BinaryObjectBuilder previous = objOld.toBuilder();
    BinaryObject objNew = entry.getValue();
    BinaryObjectBuilder current = objNew.toBuilder();
    //...
}

1 个答案:

答案 0 :(得分:2)

没有任何一个班轮。但是您可以从要合并的对象创建构建器,并在第二个对象上使用BinaryObject.type().fieldNames()来获取它包含的字段列表。然后遍历这些字段并将值附加到构建器。