public final XmlInput getXmlInput()

in mixins/om-mixins/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementMixin.java [447:477]


    public final XmlInput getXmlInput(boolean cache, boolean incremental) throws StreamException {
        if (isExpanded()) {
            return null;
        }
        boolean pull;
        if (OMDataSourceUtil.isPullDataSource(dataSource)) {
            pull = true;
        } else if (OMDataSourceUtil.isPushDataSource(dataSource)) {
            if (incremental) {
                return null;
            }
            pull = false;
        } else {
            pull = incremental;
        }
        if (cache
                && (pull && OMDataSourceUtil.isDestructiveRead(dataSource)
                        || !pull && OMDataSourceUtil.isDestructiveWrite(dataSource))) {
            return null;
        }
        if (pull) {
            try {
                return new StAXPullInput(
                        dataSource.getReader(), AxiomXMLStreamReaderHelperFactory.INSTANCE);
            } catch (XMLStreamException ex) {
                throw new StreamException(ex);
            }
        } else {
            return new PushOMDataSourceInput(this, dataSource);
        }
    }