daikon.config
Class Configuration

Object
  extended by Configuration
All Implemented Interfaces:
Serializable

public final class Configuration
extends Object
implements Serializable

This class applies settings from a configuration file that lists variable names and values (see "example-settings.txt" in this directory for an example). Multiple configuration files can be read, and the results can be re-written to a new configuration file.

Important note: classes that have fields set via this Configuration (dkconfig) interface may not reference daikon.Global in their static initializers, since Global loads the default configuration, which classloads that class, and we have a classloading circularity.

See Also:
Serialized Form

Nested Class Summary
static class Configuration.ConfigException
          Lets callers differentiate between configuration problems and all others.
 
Field Summary
protected static String PREFIX
           
 
Method Summary
 void apply(Class<?> clazz, String fieldname, String value)
           
 void apply(InputStream input)
           
 void apply(String line)
           
 void apply(String name, String value)
           
 void apply(String classname, String fieldname, String value)
           
static Configuration getInstance()
           
 void overlap(Configuration config)
          Take the settings given in the argument and call this.apply(String) for each of them.
 void replay()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFIX

protected static final String PREFIX
See Also:
Constant Field Values
Method Detail

getInstance

public static Configuration getInstance()
Returns:
singleton instance of this class

replay

public void replay()

overlap

public void overlap(Configuration config)
Take the settings given in the argument and call this.apply(String) for each of them. This essentially overlaps the settings given in the argument over this (appending them to this in the process). This method is intended for loading a saved configuration from a file, since calling this method with the Configuration singleton makes no sense.


apply

public void apply(InputStream input)

apply

public void apply(String line)

apply

public void apply(String name,
                  String value)

apply

public void apply(String classname,
                  String fieldname,
                  String value)

apply

public void apply(Class<?> clazz,
                  String fieldname,
                  String value)