package com.bagri.xqj;
import static com.bagri.xqj.BagriXQErrors.ex_sequence_closed;
import java.util.List;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQItem;
import javax.xml.xquery.XQResultSequence;
public class ScrollableXQResultSequence extends ScrollableXQSequence implements XQResultSequence {
private BagriXQDynamicContext expression;
ScrollableXQResultSequence(BagriXQDynamicContext expression, List<?> sequence) {
super(expression.connection, expression.connection.getProcessor(), sequence);
this.expression = expression;
}
@Override
public XQConnection getConnection() throws XQException {
checkState(ex_sequence_closed);
return expression.connection;
}
@Override
public XQItem getItem() throws XQException {
return new BagriXQResultItem(this.getItemType(), this.getAtomicValue(), this);
}
@Override
public boolean isClosed() {
return expression.isClosed() || super.isClosed();
}
}