public int next()

in src/main/java/org/apache/servicemix/jbi/jaxp/FragmentStreamReader.java [67:98]


    public int next() throws XMLStreamException {
        switch (state) {
        case STATE_START_DOC:
            state = STATE_FIRST_ELEM;
            event = START_DOCUMENT;
            break;
        case STATE_FIRST_ELEM:
            state = STATE_FIRST_RUN;
            depth++;
            event = START_ELEMENT;
            break;
        case STATE_FIRST_RUN:
        case STATE_RUN:
            state = STATE_RUN;
            event = getParent().next();
            if (event == START_ELEMENT) {
                depth++;
            } else if (event == END_ELEMENT) {
                depth--;
                if (depth == 0) {
                    state = STATE_END_DOC;
                }
            }
            break;
        case STATE_END_DOC:
            event = END_DOCUMENT;
            break;
        default:
            throw new IllegalStateException();
        }
        return event;
    }