/** regenerate the stream from buffer */ public void dump(XPathHandler next) { int last = byteBuffer.position(); byteBuffer.position(0); while (byteBuffer.position() < last) try { switch (getByte()) { case 0: String uri = getString(); String name = getString(); String tag = getString(); AttributesImpl atts = new AttributesImpl(); int len = getShort(); for (int i = 0; i < len; i++) atts.addAttribute("", "", getString(), "", getString()); next.startElement(uri, name, tag, atts); break; case 1: next.endElement(getString(), getString(), getString()); break; case 2: char[] text = getChars(); next.characters(text, 0, text.length); } } catch (SAXException e) { throw new Error(e); } ; byteBuffer.clear(); }
public void releasePredicate(int pred) { // set the predicate outcome to true next.releasePredicate(pred); }
/** the end of a predicate */ public void endPredicate(int pred) { next.endPredicate(pred); }
/** start a new predicate */ public void startPredicate(int pred) { next.startPredicate(pred); }
public void characters(char[] text, int start, int length) throws SAXException { next.characters(text, start, length); condition.characters(text, start, length); }
public void endElement(String nm, String ln, String qn) throws SAXException { next.endElement(nm, ln, qn); condition.endElement(nm, ln, qn); if (--level == 0) next.endPredicate(predicate_id); }
public void startElement(String nm, String ln, String qn, Attributes a) throws SAXException { if (level++ == 0) next.startPredicate(predicate_id); next.startElement(nm, ln, qn, a); condition.startElement(nm, ln, qn, a); }
public void endDocument() throws SAXException { next.endDocument(); condition.endDocument(); }
public void startDocument() throws SAXException { next.startDocument(); condition.startDocument(); }
public void releasePredicate(int pred) { next.releasePredicate(pred); condition.releasePredicate(pred); }
public void endPredicate(int pred) { next.endPredicate(pred); condition.endPredicate(pred); }
public void startPredicate(int pred) { next.startPredicate(pred); condition.startPredicate(pred); }