Class MergedReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Readable

    public final class MergedReader
    extends java.io.Reader
    Simple Reader implementation that is used to "unwind" some data previously read from a Reader; so that as long as some of that data remains, it's returned; but as long as it's read, we'll just use data from the underlying original Reader. This is similar to PushbackReader, but with this class there's only one implicit pushback, when instance is constructed; not general pushback buffer and methods to use it.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) ReaderConfig mConfig  
      (package private) char[] mData
      This buffer contains the partially read remains left over after bootstrapper has consumed xml declaration (if one found).
      (package private) int mEnd  
      (package private) java.io.Reader mIn  
      (package private) int mPtr  
      • Fields inherited from class java.io.Reader

        lock
    • Constructor Summary

      Constructors 
      Constructor Description
      MergedReader​(ReaderConfig cfg, java.io.Reader in, char[] buf, int start, int end)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      private void freeMergedBuffer()  
      void mark​(int readlimit)  
      boolean markSupported()  
      int read()  
      int read​(char[] cbuf)  
      int read​(char[] cbuf, int off, int len)  
      boolean ready()  
      void reset()  
      long skip​(long n)  
      • Methods inherited from class java.io.Reader

        nullReader, read, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mIn

        final java.io.Reader mIn
      • mData

        char[] mData
        This buffer contains the partially read remains left over after bootstrapper has consumed xml declaration (if one found). It is generally recycled and can be returned after having been read.
      • mPtr

        int mPtr
      • mEnd

        final int mEnd
    • Constructor Detail

      • MergedReader

        public MergedReader​(ReaderConfig cfg,
                            java.io.Reader in,
                            char[] buf,
                            int start,
                            int end)
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Reader
        Throws:
        java.io.IOException
      • mark

        public void mark​(int readlimit)
                  throws java.io.IOException
        Overrides:
        mark in class java.io.Reader
        Throws:
        java.io.IOException
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.Reader
      • read

        public int read()
                 throws java.io.IOException
        Overrides:
        read in class java.io.Reader
        Throws:
        java.io.IOException
      • read

        public int read​(char[] cbuf)
                 throws java.io.IOException
        Overrides:
        read in class java.io.Reader
        Throws:
        java.io.IOException
      • read

        public int read​(char[] cbuf,
                        int off,
                        int len)
                 throws java.io.IOException
        Specified by:
        read in class java.io.Reader
        Throws:
        java.io.IOException
      • ready

        public boolean ready()
                      throws java.io.IOException
        Overrides:
        ready in class java.io.Reader
        Throws:
        java.io.IOException
      • reset

        public void reset()
                   throws java.io.IOException
        Overrides:
        reset in class java.io.Reader
        Throws:
        java.io.IOException
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.Reader
        Throws:
        java.io.IOException
      • freeMergedBuffer

        private void freeMergedBuffer()