## org.apache.lucene.benchmark.byTask.tasks
Class AddDocTask

    java.lang.Object
      org.apache.lucene.benchmark.byTask.tasks.PerfTask
          org.apache.lucene.benchmark.byTask.tasks.AddDocTask

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  AddFacetedDocTask

    public class AddDocTask

extends PerfTask

Add a document, optionally of a certain size.
Other side effects: none.
Takes optional param: document size.

Field Summary
`protected org.apache.lucene.document.Document` `doc` volatile data passed between setup(), doLogic(), tearDown().

Fields inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
`logStep, NEW_LINE, params, stopNow`

Constructor Summary
`AddDocTask(PerfRunData runData)`

Method Summary
`int` `doLogic()` Perform the task once (ignoring repetitions specification) Return number of work items done by this task.
`protected String` `getLogMessage(int recsCount)`
`void` `setParams(String params)` Set the params (docSize only)
`void` `setup()` Task setup work that should not be measured for that specific task.
`boolean` `supportsParams()` Sub classes that support parameters must override this method to return true.
`void` `tearDown()` Task tearDown work that should not be measured for that specific task.

Methods inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
`clone, close, getBackgroundDeltaPriority, getDepth, getName, getParams, getRunData, getRunInBackground, isDisableCounting, runAndMaybeStats, setDepth, setDisableCounting, setName, setRunInBackground, shouldNeverLogAtStart, shouldNotRecordStats, stopNow, toString`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### doc

    protected org.apache.lucene.document.Document doc

  volatile data passed between setup(), doLogic(), tearDown(). the doc is created at setup() and added at doLogic().

Constructor Detail

### AddDocTask

    public AddDocTask(PerfRunData runData)

Method Detail

### setup

    public void setup()
               throws Exception

  Description copied from class: `PerfTask`
  Task setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from `PerfTask.doLogic()` to this method. Only the work done in `PerfTask.doLogic()` is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

  Overrides:
    `setup` in class `PerfTask`
  Throws:
    `Exception`

### tearDown

    public void tearDown()
                  throws Exception

  Description copied from class: `PerfTask`
  Task tearDown work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from `PerfTask.doLogic()` to this method. Only the work done in `PerfTask.doLogic()` is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

  Overrides:
    `tearDown` in class `PerfTask`
  Throws:
    `Exception`

### getLogMessage

    protected String getLogMessage(int recsCount)

  Overrides:
    `getLogMessage` in class `PerfTask`

### doLogic

    public int doLogic()
                throws Exception

  Description copied from class: `PerfTask`
  Perform the task once (ignoring repetitions specification) Return number of work items done by this task. For indexing that can be number of docs added. For warming that can be number of scanned items, etc.

  Specified by:
    `doLogic` in class `PerfTask`
  Returns:
    number of work items done by this task.
  Throws:
    `Exception`

### setParams

    public void setParams(String params)

  Set the params (docSize only)

  Overrides:
    `setParams` in class `PerfTask`
  Parameters:
    `params` - docSize, or 0 for no limit.

### supportsParams

    public boolean supportsParams()

  Description copied from class: `PerfTask`
  Sub classes that support parameters must override this method to return true.

  Overrides:
    `supportsParams` in class `PerfTask`
  Returns:
    true iff this task supports command line params.