Class BaseInputSource

    • Field Detail

      • mPublicId

        final java.lang.String mPublicId
      • mSystemId

        SystemId mSystemId
        URL for/from systemId points to original source of input, if known; null if not known (source constructed with just a stream or reader). Used for resolving references from the input that's read from this source. Can be overridden by reader; done if P_BASE_URL is changed on stream reader for which this input source is the currently active input source.
      • mBuffer

        protected char[] mBuffer
        Input buffer this input source uses, if any.
      • mInputLast

        protected int mInputLast
        Length of the buffer, if buffer used
      • mSavedInputProcessed

        long mSavedInputProcessed
        Number of characters read from the current input source prior to the current buffer
      • mSavedInputRow

        int mSavedInputRow
      • mSavedInputRowStart

        int mSavedInputRowStart
      • mSavedInputPtr

        int mSavedInputPtr
    • Constructor Detail

      • BaseInputSource

        protected BaseInputSource​(WstxInputSource parent,
                                  java.lang.String fromEntity,
                                  java.lang.String publicId,
                                  SystemId systemId)
    • Method Detail

      • overrideSource

        public void overrideSource​(java.net.URL src)
        Description copied from class: WstxInputSource
        Method that can be called to override originally defined source.
        Specified by:
        overrideSource in class WstxInputSource
        Parameters:
        src - New base URL to set; may be null.
      • fromInternalEntity

        public abstract boolean fromInternalEntity()
        Specified by:
        fromInternalEntity in class WstxInputSource
        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)
      • getSource

        public java.net.URL getSource()
                               throws java.io.IOException
        Specified by:
        getSource in class WstxInputSource
        Throws:
        java.io.IOException
      • readInto

        public abstract 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 WstxInputSource
        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 abstract 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 WstxInputSource
        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
      • saveContext

        public void saveContext​(WstxInputData reader)
        Description copied from class: WstxInputSource
        Method Reader calls when this input source is being stored, when a nested input source gets used instead (due to entity expansion). Needs to get location info from Reader and store it in this Object.
        Specified by:
        saveContext in class WstxInputSource
      • restoreContext

        public void restoreContext​(WstxInputData reader)
        Description copied from class: WstxInputSource
        Method Reader calls when this input source is resumed as the current source. Needs to update Reader's input location data used for error messages etc.
        Specified by:
        restoreContext in class WstxInputSource
      • close

        public abstract 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 WstxInputSource
        Throws:
        java.io.IOException
      • getLocation

        protected final WstxInputLocation getLocation()
        This method only gets called by the 'child' input source (for example, contents of an expanded entity), to get the enclosing context location.
        Specified by:
        getLocation in class WstxInputSource