public Iterator getChildren()

in src/main/java/org/apache/neethi/builders/converters/AbstractStaxConverter.java [63:114]


    public Iterator<XMLStreamReader> getChildren(final XMLStreamReader s) {
        final QName base = s.getName();
        try {
            int evt = s.getEventType();
            if (s.hasNext()) {
                evt = s.next();
            }
            while (s.hasNext() 
                && evt != XMLStreamReader.END_ELEMENT 
                && evt != XMLStreamReader.START_ELEMENT) {
                evt = s.next();
            }
        } catch (Exception ex) {
            return null;
        }
        return new Iterator<XMLStreamReader>() {
            boolean first = true;
            public boolean hasNext() {
                if (first) {
                    first = false;
                    return s.getEventType() != XMLStreamReader.END_ELEMENT;
                }
                try {
                    int evt = s.next();
                    while (s.hasNext() 
                        && evt != XMLStreamReader.END_ELEMENT 
                        && evt != XMLStreamReader.START_ELEMENT) {
                        evt = s.next();
                    }
                    if (evt == XMLStreamReader.END_ELEMENT
                        && !s.getName().equals(base)) {
                        evt = s.next();
                        while (s.hasNext() 
                            && evt != XMLStreamReader.END_ELEMENT 
                            && evt != XMLStreamReader.START_ELEMENT) {
                            evt = s.next();
                        }
                    }
                    return evt == XMLStreamReader.START_ELEMENT;
                } catch (Exception ex) {
                    return false;
                }
                
            }
            public XMLStreamReader next() {
                return s;
            }
            public void remove() {
                throw new UnsupportedOperationException();
            }
        };
    }