## 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
`Config(Properties props)` Create config without algorithm - useful for a programmatic perf test.
`Config(Reader algReader)` Read both algorithm and config properties.

Method Summary
`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` `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.

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

Constructor Detail

### 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`

### Config

    public Config(Properties props)

  Create config without algorithm - useful for a programmatic perf test.

  Parameters:
    `props` - - configuration properties.

Method Detail

### 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.