package com.bagri.xqj;
import static com.bagri.xqj.BagriXQErrors.ex_sequence_closed;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQItem;
import javax.xml.xquery.XQResultSequence;
import com.bagri.core.api.ResultCursor;
public class IterableXQResultSequence extends IterableXQSequence implements XQResultSequence {
private BagriXQDynamicContext expression;
IterableXQResultSequence(BagriXQDynamicContext expression, ResultCursor cursor) {
super(expression.connection, expression.connection.getProcessor(), cursor);
this.expression = expression;
}
@Override
public XQConnection getConnection() throws XQException {
checkState(ex_sequence_closed);
return expression.connection;
}
@Override
public XQItem getItem() throws XQException {
checkState(ex_sequence_closed);
super.getItem();
return new BagriXQResultItem(type, value, this);
}
@Override
public boolean isClosed() {
return expression.isClosed() || super.isClosed();
}
}