public Event next()

in testing/xml-truth/src/main/java/org/apache/axiom/truth/xml/StAXTraverser.java [57:103]


    public Event next() throws TraverserException {
        try {
            int event;
            if (depth == 0) {
                if (atStart) {
                    atStart = false;
                    event = XMLStreamReader.START_ELEMENT;
                } else {
                    event = XMLStreamReader.END_DOCUMENT;
                }
            } else {
                event = reader.hasNext() ? reader.next() : XMLStreamReader.END_DOCUMENT;
            }
            switch (event) {
                case XMLStreamReader.DTD:
                    return Event.DOCUMENT_TYPE;
                case XMLStreamReader.START_ELEMENT:
                    if (depth != -1) {
                        depth++;
                    }
                    return Event.START_ELEMENT;
                case XMLStreamReader.END_ELEMENT:
                    if (depth != -1) {
                        depth--;
                    }
                    return Event.END_ELEMENT;
                case XMLStreamReader.CHARACTERS:
                    return Event.TEXT;
                case XMLStreamReader.SPACE:
                    return Event.WHITESPACE;
                case XMLStreamReader.ENTITY_REFERENCE:
                    return Event.ENTITY_REFERENCE;
                case XMLStreamReader.COMMENT:
                    return Event.COMMENT;
                case XMLStreamReader.CDATA:
                    return Event.CDATA_SECTION;
                case XMLStreamReader.PROCESSING_INSTRUCTION:
                    return Event.PROCESSING_INSTRUCTION;
                case XMLStreamReader.END_DOCUMENT:
                    return null;
                default:
                    throw new IllegalStateException();
            }
        } catch (XMLStreamException ex) {
            throw new TraverserException(ex);
        }
    }