public void moveUp() { int currentDepth = elementStack.size(); while (elementStack.size() >= currentDepth) { move(); } }
private Event readRealEvent() { Event event = pool.hasStuff() ? (Event)pool.pop() : new Event(); event.type = pullNextEvent(); if (event.type == TEXT) { event.value = pullText(); } else if (event.type == START_NODE) { event.value = pullElementName(); } else { event.value = null; } return event; }
private void move() { final Event event = readEvent(); pool.push(event); switch (event.type) { case START_NODE: elementStack.push(pullElementName()); break; case END_NODE: elementStack.pop(); break; } }
public String getNodeName() { return unescapeXmlName((String) elementStack.peek()); }
private Event readEvent() { if (marked) { if (lookback.hasStuff()) { return (Event) lookahead.push(lookback.pop()); } else { return (Event) lookahead.push(readRealEvent()); } } else { if (lookback.hasStuff()) { return (Event) lookback.pop(); } else { return readRealEvent(); } } }
private void move() { switch (readEvent().type) { case START_NODE: elementStack.push(pullElementName()); break; case END_NODE: elementStack.pop(); break; } }
@Override public String getNodeName() { return unescapeXmlName(elementStack.peek()); }
private Event readEvent() { if (marked) { if (lookback.hasStuff()) { return lookahead.push(lookback.pop()); } else { return lookahead.push(readRealEvent()); } } else { if (lookback.hasStuff()) { return lookback.pop(); } else { return readRealEvent(); } } }
private Event readRealEvent() { Event event = new Event(); event.type = pullNextEvent(); if (event.type == TEXT) { event.value = pullText(); } else if (event.type == START_NODE) { event.value = pullElementName(); } return event; }
private void move() { switch (readEvent().type) { case START_NODE: elementStack.push(pullElementName()); break; case END_NODE: elementStack.pop(); break; } }
public void moveDown() { int currentDepth = elementStack.size(); while (elementStack.size() <= currentDepth) { move(); if (elementStack.size() < currentDepth) { throw new RuntimeException(); // sanity check } } }
public String getNodeName() { return unescapeXmlName((String) elementStack.peek()); }
private Event readEvent() { if (marked) { if (lookback.hasStuff()) { return (Event) lookahead.push(lookback.pop()); } else { return (Event) lookahead.push(readRealEvent()); } } else { if (lookback.hasStuff()) { return (Event) lookback.pop(); } else { return readRealEvent(); } } }
private Event readRealEvent() { Event event = new Event(); event.type = pullNextEvent(); if (event.type == TEXT) { event.value = pullText(); } else if (event.type == START_NODE) { event.value = pullElementName(); } return event; }
private void move() { final Event event = readEvent(); pool.push(event); switch (event.type) { case START_NODE: elementStack.push(pullElementName()); break; case END_NODE: elementStack.pop(); break; } }
@Override public void moveUp() { final int currentDepth = elementStack.size(); while (elementStack.size() >= currentDepth) { move(); } }
public String getNodeName() { return unescapeXmlName((String) elementStack.peek()); }