Package org.apache.lucene.benchmark.byTask.feeds

# Class ContentSource

java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
org.apache.lucene.benchmark.byTask.feeds.ContentSource

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `DirContentSource`, `EnwikiContentSource`, `LineDocSource`, `LongToEnglishContentSource`, `ReutersContentSource`, `SingleDocSource`, `TrecContentSource`

public abstract class ContentSource extends ContentItemsSource
Represents content from a specified source, such as TREC, Reuters etc. A `ContentSource` is responsible for creating `DocData` objects for its documents to be consumed by `DocMaker`. It also keeps track of various statistics, such as how many documents were generated, size in bytes etc.

For supported configuration parameters see `ContentItemsSource`.

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource

  `encoding, forever, logStep, verbose`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ContentSource()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract DocData`
  `getNextDocData(DocData docData)`
  Returns the next `DocData` from the content source.

  ### Methods inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource

  `addBytes, addItem, close, collectFiles, getBytesCount, getConfig, getItemsCount, getTotalBytesCount, getTotalItemsCount, printStatistics, resetInputs, setConfig, shouldLog`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ContentSource

    public ContentSource()

- ## Method Details

  - ### getNextDocData

    public abstract DocData getNextDocData(DocData docData) throws NoMoreDataException, IOException
    Returns the next `DocData` from the content source. Implementations must account for multi-threading, as multiple threads can call this method simultaneously.
    Throws:
      `NoMoreDataException`
      `IOException`