BulkApiRequestApi.java
package eu.javaexperience.rpc.bulk;
import eu.javaexperience.datareprez.DataArray;
import eu.javaexperience.datareprez.DataObject;
public abstract class BulkApiRequestApi
{
public abstract DataObject handleSingleRequest(DataObject obj);
public DataObject doMulticall(DataObject req)
{
DataObject ret = req.newObjectInstance();
Long t = req.optLong("t");
if(null != t)
{
req.putLong("t", t);
}
DataArray reqs = req.getArray("p");
DataArray r = req.newArrayInstance();
for(int i=0;i<reqs.size();++i)
{
DataObject res = handleSingleRequest(reqs.getObject(i));
r.putObject(res);
}
ret.putArray("r", r);
return ret;
}
}