Class IndexReader


  • public final class IndexReader
    extends java.lang.Object
    Reads a Jandex index file and returns the saved index. See Indexer for a thorough description of how the Index data is produced.

    An IndexReader loads the stream passed to it's constructor and applies the appropriate buffering. The Jandex index format is designed for efficient reading and low final memory storage.

    Thread-Safety

    IndexReader is not thread-safe and can not be shared between concurrent threads. The resulting index, however, is.
    • Constructor Summary

      Constructors 
      Constructor Description
      IndexReader​(java.io.InputStream input)
      Constructs a new IndedReader using the passed stream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getIndexVersion()
      Returns the index file version.
      private void initReader​(int version)  
      Index read()
      Read the index at the associated stream of this reader.
      private void readVersion()  
      • Methods inherited from class java.lang.Object

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

      • IndexReader

        public IndexReader​(java.io.InputStream input)
        Constructs a new IndedReader using the passed stream. The stream is not read from until the read method is called.
        Parameters:
        input - a stream which points to a jandex index file
    • Method Detail

      • read

        public Index read()
                   throws java.io.IOException
        Read the index at the associated stream of this reader. This method can be called multiple times if the stream contains multiple index files.
        Returns:
        the Index contained in the stream
        Throws:
        java.io.IOException - if an I/O error occurs
        java.lang.IllegalArgumentException - if the stream does not point to Jandex index data
        UnsupportedVersion - if the index data is tagged with a version not known to this reader
      • initReader

        private void initReader​(int version)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getIndexVersion

        public int getIndexVersion()
                            throws java.io.IOException
        Returns the index file version. This version number marks the internal storage format and also implies the version of data contract of the index. It is incremented whenever more information are added to the index format, so it may be used to determine whether an index file contains necessary information.
        Returns:
        the index file version
        Throws:
        java.io.IOException - If the index could not be read
      • readVersion

        private void readVersion()
                          throws java.io.IOException
        Throws:
        java.io.IOException