Seems to work pretty well.
Here is the code, if you are interested.
/////////////////////////// Sub class of LocalQuery //////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
package org.basex.api.client;
import java.io.IOException;
import java.io.OutputStream;
import java.util.logging.Logger;
import org.basex.core.Context;
public class MyLocalQuery extends LocalQuery {
MyLocalQuery(final String query, final Context context, final OutputStream output) {
super(query, context, output);
}
public int size() throws IOException {
if (cache == null) {
cache();
}
return cache.size();
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////// END Sub class of LocalQuery //////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////// Sub class of LocalSession ///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
package org.basex.api.client;
import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.basex.core.Context;
public class MyLocalSession extends LocalSession {
public MyLocalSession(Context context, OutputStream output) {
super(context, output);
}
@Override
public MyLocalQuery query(final String query) {
return new MyLocalQuery(query, context(), out);
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////// END Sub class of LocalSession ///////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////