Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## uchicago.src.sim.analysis
Class AbstractDataSourceRecorder

    java.lang.Object
      uchicago.src.sim.analysis.AbstractDataSourceRecorder

All Implemented Interfaces:
  DataSourceRecorder, Recorder, SimEventListener

Direct Known Subclasses:
  DistributedDataRecorder, LocalDataRecorder

    public abstract class AbstractDataSourceRecorder

extends java.lang.Object
implements DataSourceRecorder

Created by IntelliJ IDEA. User: thowe Date: Jan 2, 2003 Time: 1:29:42 PM To change this template use Options | File Templates.

Field Summary
`protected SimDataNew` | `data`
`protected DataFileHeader` | `dfHeader`
`protected SimModel` | `model`
`protected java.util.Vector` | `sources`

Constructor Summary
`AbstractDataSourceRecorder()`

Method Summary
`void` | `addNumericDataSource(java.lang.String name, NumericDataSource s)` Adds a NumericDataSource to this DataRecorder with the specified name.
`void` | `addNumericDataSource(java.lang.String name, NumericDataSource s, int maxIntegerDigits, int maxFractionDigits)` Adds a NumericDataSource to this DataRecorder with the specified name, and specified number of integral and fractional digits.
`void` | `addObjectDataSource(java.lang.String name, DataSource s)` Adds a DataSource to this DataRecorder with the specified name.
`void` | `createAverageDataSource(java.lang.String name, java.util.ArrayList feedFrom, java.lang.String methodName)` Creates an average data source from a specified list using a method with the specified name.
`void` | `createAverageDataSource(java.lang.String name, java.util.ArrayList feedFrom, java.lang.String methodName, int maxIntegerDigits, int maxFractionDigits)` Creates an average data source from a specified list using a method with the specified name.
`void` | `createNumericDataSource(java.lang.String name, java.lang.Object feedFrom, java.lang.String methodName)` Creates a NumericDataSource using the specified object and the specified method name.
`void` | `createNumericDataSource(java.lang.String name, java.lang.Object feedFrom, java.lang.String methodName, int maxIntegerDigits, int maxFractionDigits)` Creates a NumericDataSource using the specified object and the specified method name.
`void` | `createObjectDataSource(java.lang.String name, java.lang.Object feedFrom, java.lang.String methodName)` Creates a DataSource using the specified object and the specified method name.
`void` | `initData(SimModel model, java.lang.String headerComment)`
`abstract void` | `record()` Records the data for the current tick in tabular format.
`void` | `setDelimeter(java.lang.String delim)` Sets the tabular data delimiter to the specified string.
`void` | `simEventPerformed(SimEvent evt)`
`abstract void` | `write()` Writes the recorded data out to a file in tabular format.
`abstract void` | `writeEnd()` Writes any ending matter to the file.
`abstract void` | `writeToFile()`

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

Field Detail

### data

    protected SimDataNew data

### sources

    protected java.util.Vector sources

### model

    protected SimModel model

### dfHeader

    protected DataFileHeader dfHeader

Constructor Detail

### AbstractDataSourceRecorder

    public AbstractDataSourceRecorder()

Method Detail

### initData

    public void initData(SimModel model,
                         java.lang.String headerComment)

### addNumericDataSource

    public void addNumericDataSource(java.lang.String name,
                                     NumericDataSource s,
                                     int maxIntegerDigits,
                                     int maxFractionDigits)

  Adds a NumericDataSource to this DataRecorder with the specified name, and specified number of integral and fractional digits. The NumericDataSource generates the data to be recorded.

  Specify a maxIntegerDigits of less than 0 to avoid rounding and truncating the integeral portion of the number. Similarly, specify a maxFractionDigits of less than 0 to avoid rounding and truncating the fractional portion of the number.

  Note that the number is rounded if necessary when trucated. For example, with a maxFactionDigits of 2, the number 99.555 becomes 99.56.

  Specified by:
    `addNumericDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name of the data (e.g. Number of Agents)
    `s` - the source of the data
    `maxIntegerDigits` - the maximum number of digits before the decimal point. A value of -1 will record all the digits.
    `maxFractionDigits` - the maximum number of digits after the decimal point. A value of -1 will record all the digits.

### addNumericDataSource

    public void addNumericDataSource(java.lang.String name,
                                     NumericDataSource s)

  Adds a NumericDataSource to this DataRecorder with the specified name. The NumericDataSource generates the data to be recorded.

  Specified by:
    `addNumericDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name of the data (e.g. Number of Agents)
    `s` - the source of the data

### createObjectDataSource

    public void createObjectDataSource(java.lang.String name,
                                       java.lang.Object feedFrom,
                                       java.lang.String methodName)

  Creates a DataSource using the specified object and the specified method name. Whenever DataRecorder.record is called, the method of this name is called on this object and the result is recorded.

  Note the specified method must return an Object, that is, anything but void or a primitive. The method must be public.

  Specified by:
    `createObjectDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name for this data source. This corresponds to the column name when this object is written out to the file
    `feedFrom` - the object on which to call the method
    `methodName` - the name of the method to call

### createNumericDataSource

    public void createNumericDataSource(java.lang.String name,
                                        java.lang.Object feedFrom,
                                        java.lang.String methodName,
                                        int maxIntegerDigits,
                                        int maxFractionDigits)

  Creates a NumericDataSource using the specified object and the specified method name. Whenever DataRecorder.record is called, the method of this name is called on this object and the result is recorded.

  Note the specified method must explicity return a double, that is, the return value of the method signature must be a double (e.g. public double ...). The method must be public.

  Specified by:
    `createNumericDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name for this data source. This corresponds to the column name when this object is written out to the file
    `feedFrom` - the object on which to call the method
    `methodName` - the name of the method to call
    `maxIntegerDigits` - the maximum number of digits before the decimal point. A value of -1 will record all the digits.
    `maxFractionDigits` - the maximum number of digits after the decimal point. A value of -1 will record all the digits.

### createNumericDataSource

    public void createNumericDataSource(java.lang.String name,
                                        java.lang.Object feedFrom,
                                        java.lang.String methodName)

  Creates a NumericDataSource using the specified object and the specified method name. Whenever DataRecorder.record is called, the method of this name is called on this object and the result is recorded.

  Note the specified method must explicity return a double, that is, the return value of the method signature must be a double (e.g. public double ...). The method must be public.

  Specified by:
    `createNumericDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name for this data source. This corresponds to the column name when this object is written out to the file
    `feedFrom` - the object on which to call the method
    `methodName` - the name of the method to call

### addObjectDataSource

    public void addObjectDataSource(java.lang.String name,
                                    DataSource s)

  Adds a DataSource to this DataRecorder with the specified name. The DataSource generates the data that is to be recorded.

  Specified by:
    `addObjectDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name of the data to be recorded
    `s` - the DataSource for the data to be recorded

### createAverageDataSource

    public void createAverageDataSource(java.lang.String name,
                                        java.util.ArrayList feedFrom,
                                        java.lang.String methodName)

  Creates an average data source from a specified list using a method with the specified name. Whenever DataRecorder.record is called, this method is called on all the objects in the list, the resulting values are averaged, and this average is recorded.

  Specified by:
    `createAverageDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name for this data source. This corresponds to the column name when this object is written out to the file
    `feedFrom` - the list of object on which to call the method
    `methodName` - the name of the method to call. This method should return some sub class of java.lang.Number

### createAverageDataSource

    public void createAverageDataSource(java.lang.String name,
                                        java.util.ArrayList feedFrom,
                                        java.lang.String methodName,
                                        int maxIntegerDigits,
                                        int maxFractionDigits)

  Creates an average data source from a specified list using a method with the specified name. Whenever DataRecorder.record is called, this method is called on all the objects in the list, the resulting values are averaged, and this average is recorded.

  Specified by:
    `createAverageDataSource` in interface `DataSourceRecorder`
  Parameters:
    `name` - the name for this data source. This corresponds to the column name when this object is written out to the file
    `feedFrom` - the list of object on which to call the method
    `methodName` - the name of the method to call. This method should return some sub class of java.lang.Number

### record

    public abstract void record()

  Description copied from interface: `Recorder`
  Records the data for the current tick in tabular format. Each tick is a row, and each column is the name of the data source.

  Specified by:
    `record` in interface `Recorder`

### writeToFile

    public abstract void writeToFile()

  Specified by:
    `writeToFile` in interface `Recorder`

### write

    public abstract void write()

  Description copied from interface: `Recorder`
  Writes the recorded data out to a file in tabular format. This also does a flush on the data itself (i.e. the data is no longer stored by repast and exists only in the file). Identical to writeToFile().

  Specified by:
    `write` in interface `Recorder`

### writeEnd

    public abstract void writeEnd()

  Description copied from interface: `Recorder`
  Writes any ending matter to the file. Used internally during a batch run to write the ending time of the entire batch. A model would not typically call this method.

  Specified by:
    `writeEnd` in interface `Recorder`

### simEventPerformed

    public void simEventPerformed(SimEvent evt)

  Specified by:
    `simEventPerformed` in interface `Recorder`
  Specified by:
    `simEventPerformed` in interface `SimEventListener`

### setDelimeter

    public void setDelimeter(java.lang.String delim)

  Sets the tabular data delimiter to the specified string. The default is ",".

  Specified by:
    `setDelimeter` in interface `DataSourceRecorder`
  Parameters:
    `delim` - the new delimiter.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD