Package 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

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected 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

    Constructors
    Constructor | Description
    --- | ---
    `AddDocTask​(PerfRunData runData)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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, getAlgLineNum, getBackgroundDeltaPriority, getDepth, getName, getParams, getRunData, getRunInBackground, isDisableCounting, runAndMaybeStats, setAlgLineNum, 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 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.