Package org.apache.lucene.benchmark.byTask.utils

# Class Config

java.lang.Object
org.apache.lucene.benchmark.byTask.utils.Config

public class Config extends Object
Perf run configuration properties.

Numeric property containing ":", e.g. "10:100:5" is interpreted as array of numeric values. It is extracted once, on first use, and maintain a round number to return the appropriate value.

The config property "work.dir" tells where is the root of docs data dirs and indexes dirs. It is set to either of:

- value supplied for it in the alg file;
- otherwise, value of System property "benchmark.work.dir";
- otherwise, "work".

## Constructor Summary

Constructors
Constructor
Description
`Config(Reader algReader)`
Read both algorithm and config properties.
`Config(Properties props)`
Create config without algorithm - useful for a programmatic perf test.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`get(String name, boolean dflt)`
Return a boolean property.
`double`
`get(String name, double dflt)`
Return a double property.
`int`
`get(String name, int dflt)`
Return an int property.
`String`
`get(String name, String dflt)`
Return a string property.
`String`
`getAlgorithmText()`
`String`
`getColsNamesForValsByRound()`
`String`
`getColsValuesForValsByRound(int roundNum)`
`int`
`getNumThreads()`
`int`
`getRoundNumber()`
`int`
`newRound()`
Increment the round number, for config values that are extracted by round number.
`void`
`set(String name, String value)`
Set a property.
`void`
`setNumThreads(int numThreads)`

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

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

## Constructor Details

### Config

public Config(Reader algReader) throws IOException
Read both algorithm and config properties.

Parameters:
  `algReader` - from where to read algorithm and config properties.
Throws:
  `IOException` - If there is a low-level I/O error.

### Config

public Config(Properties props)
Create config without algorithm - useful for a programmatic perf test.

Parameters:
  `props` - - configuration properties.

## Method Details

### setNumThreads

public void setNumThreads(int numThreads)

### getNumThreads

public int getNumThreads()

### get

public String get(String name, String dflt)
Return a string property.

Parameters:
  `name` - name of property.
  `dflt` - default value.
Returns:
  a string property.

### set

public void set(String name, String value) throws Exception
Set a property. Note: once a multiple values property is set, it can no longer be modified.

Parameters:
  `name` - name of property.
  `value` - either single or multiple property value (multiple values are separated by ":")
Throws:
  `Exception`

### get

public int get(String name, int dflt)
Return an int property. If the property contain ":", e.g. "10:100:5", it is interpreted as array of ints. It is extracted once, on first call to get() it, and a by-round-value is returned.

Parameters:
  `name` - name of property
  `dflt` - default value
Returns:
  a int property.

### get

public double get(String name, double dflt)
Return a double property. If the property contain ":", e.g. "10:100:5", it is interpreted as array of doubles. It is extracted once, on first call to get() it, and a by-round-value is returned.

Parameters:
  `name` - name of property
  `dflt` - default value
Returns:
  a double property.

### get

public boolean get(String name, boolean dflt)
Return a boolean property. If the property contain ":", e.g. "true.true.false", it is interpreted as array of booleans. It is extracted once, on first call to get() it, and a by-round-value is returned.

Parameters:
  `name` - name of property
  `dflt` - default value
Returns:
  a int property.

### newRound

public int newRound()
Increment the round number, for config values that are extracted by round number.

Returns:
  the new round number.

### getColsNamesForValsByRound

public String getColsNamesForValsByRound()

Returns:
  names of params set by round, for reports title

### getColsValuesForValsByRound

public String getColsValuesForValsByRound(int roundNum)

Returns:
  values of params set by round, for reports lines.

### getRoundNumber

public int getRoundNumber()

Returns:
  the round number.

### getAlgorithmText

public String getAlgorithmText()

Returns:
  Returns the algorithmText.