Package org.apache.maven.index.reader
Class IndexReader
java.lang.Object
org.apache.maven.index.reader.IndexReader
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Iterable<ChunkReader>
Maven Index reader that handles incremental updates, if possible, and provides one or more 
ChunkReaders, to
 read all the required records. Instances of this class MUST BE handled as resources (have them closed once done with
 them), it is user responsibility to close them, ideally in try-with-resource block.
 
 Every involved instance, this IndexReader, provided ChunkReader, and used  ResourceHandlers
 are Closeable, and all have to be explicitly closed, best in try-with-resource.
- Since:
- 5.1.2
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()Closes the underlyingResourceHandlers.Returns unmodifiable list of actual chunks that needs to be pulled from remoteResourceHandler.Returns the index context ID that published index has set.Returns theDatewhen remote index was last published.booleanReturnstrueif incremental update is about to happen.iterator()Returns anIteratorofChunkReaders, that if read in sequence, provide all the (incremental) updates from the index.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Constructor Details- 
IndexReader- Throws:
- IOException
 
 
- 
- 
Method Details- 
getIndexIdReturns the index context ID that published index has set. Usually it is equal to "repository ID" used inRecord.Type.DESCRIPTORbut does not have to be.
- 
getPublishedTimestampReturns theDatewhen remote index was last published.
- 
isIncrementalpublic boolean isIncremental()Returnstrueif incremental update is about to happen. If incremental update, theiterator()will return only the diff from the last update.
- 
getChunkNamesReturns unmodifiable list of actual chunks that needs to be pulled from remoteResourceHandler. Those are incremental chunks or the big main file, depending on result ofisIncremental(). Empty list means local index is up to date, anditerator()will return empty iterator.
- 
closeCloses the underlyingResourceHandlers. In case of incremental update use, it also assumes that user consumed all the iterator and integrated it, hence, it will update theWritableResourceHandlercontents to prepare it for future incremental update. If this is not desired (ie. due to aborted update), then this method should NOT be invoked, but rather theResourceHandlers that caller provided in constructor of this class should be closed manually.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Throws:
- IOException
 
- 
iteratorReturns anIteratorofChunkReaders, that if read in sequence, provide all the (incremental) updates from the index. It is caller responsibility to either consume fully this iterator, or to close currentChunkReaderif aborting.- Specified by:
- iteratorin interface- Iterable<ChunkReader>
 
 
-