package com.bagri.xqj; import static com.bagri.xqj.BagriXQErrors.ex_item_closed; import javax.xml.xquery.XQConnection; import javax.xml.xquery.XQException; import javax.xml.xquery.XQItemType; import javax.xml.xquery.XQResultItem; import javax.xml.xquery.XQResultSequence; import com.bagri.core.xquery.api.XQProcessor; public class BagriXQResultItem extends BagriXQItem implements XQResultItem { private XQResultSequence parent; BagriXQResultItem(XQProcessor xqProcessor, XQItemType type, Object value) { super(xqProcessor, type, value); } BagriXQResultItem(XQItemType type, Object value, XQResultSequence parent) { this(((BagriXQSequence) parent).getXQProcessor(), type, value); this.parent = parent; } @Override public XQConnection getConnection() throws XQException { checkState(ex_item_closed); return parent.getConnection(); } @Override public boolean isClosed() { return parent.isClosed() || super.isClosed(); } }