org.apache.lucene.benchmark.byTask.utils
Class Config

java.lang.Object
  extended by 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:


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.