Class ReaderSource

    • Field Detail

      • mReader

        protected java.io.Reader mReader
        Underlying Reader to read character data from
      • mDoRealClose

        final boolean mDoRealClose
        If true, will close the underlying Reader when this source is closed; if false will leave it open.
      • mInputProcessed

        int mInputProcessed
      • mInputRow

        int mInputRow
      • mInputRowStart

        int mInputRowStart
    • Constructor Detail

      • ReaderSource

        public ReaderSource​(ReaderConfig cfg,
                            WstxInputSource parent,
                            java.lang.String fromEntity,
                            java.lang.String pubId,
                            SystemId sysId,
                            java.io.Reader r,
                            boolean realClose)
    • Method Detail

      • setInputOffsets

        public void setInputOffsets​(int proc,
                                    int row,
                                    int rowStart)
        Method called to change the default offsets this source has. Generally done when the underlying Reader had been partially read earlier (like reading the xml declaration before starting real parsing).
      • fromInternalEntity

        public boolean fromInternalEntity()
        This is a hard-coded assumption, for now this source is only created from external entities
        Specified by:
        fromInternalEntity in class BaseInputSource
        Returns:
        True, if this input source was directly expanded from an internal entity (general, parsed); false if not (from external entity, DTD ext. subset, main document)
      • readInto

        public int readInto​(WstxInputData reader)
                     throws java.io.IOException,
                            javax.xml.stream.XMLStreamException
        Description copied from class: WstxInputSource
        Method called to read at least one more char from input source, and update input data appropriately.
        Specified by:
        readInto in class BaseInputSource
        Returns:
        Number of characters read from the input source (at least 1), if it had any input; -1 if input source has no more input.
        Throws:
        java.io.IOException
        javax.xml.stream.XMLStreamException
      • readMore

        public boolean readMore​(WstxInputData reader,
                                int minAmount)
                         throws java.io.IOException,
                                javax.xml.stream.XMLStreamException
        Description copied from class: WstxInputSource
        Method called by reader when it has to have at least specified number of consequtive input characters in its buffer, and it currently does not have. If so, it asks input source to do whatever it has to do to try to get more data, if possible (including moving stuff in input buffer if necessary and possible).
        Specified by:
        readMore in class BaseInputSource
        Returns:
        True if input source was able to provide specific number of characters or more; false if not. In latter case, source is free to return zero or more characters any way.
        Throws:
        java.io.IOException
        javax.xml.stream.XMLStreamException
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: WstxInputSource
        Method reader calls for this input source when it has encountered EOF. This may or may not close the underlying stream/reader; what happens depends on configuration
        Specified by:
        close in class BaseInputSource
        Throws:
        java.io.IOException
      • closeCompletely

        public void closeCompletely()
                             throws java.io.IOException
        Description copied from class: WstxInputSource
        Method reader MAY call to force full closing of the underlying input stream(s)/reader(s). No checks are done regarding configuration, but input source object is to deal gracefully with multiple calls (ie. it's not an error for reader to call this more than once).
        Specified by:
        closeCompletely in class WstxInputSource
        Throws:
        java.io.IOException
      • closeAndRecycle

        private void closeAndRecycle​(boolean fullClose)
                              throws java.io.IOException
        Throws:
        java.io.IOException