Package org.planit.output.formatter
Class BaseOutputFormatter
- java.lang.Object
-
- org.planit.output.formatter.BaseOutputFormatter
-
- All Implemented Interfaces:
OutputFormatter
- Direct Known Subclasses:
FileOutputFormatter
,MemoryOutputFormatter
public abstract class BaseOutputFormatter extends Object implements OutputFormatter
Base class for all formatters of output data, i.e. persistence of certain types of data into a particular format- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description protected long
id
Unique internal id of the output writerprotected String
initialCostsLocation
The location of the initial costs filesprotected Map<OutputType,OutputProperty[]>
outputKeyProperties
Map of OutputProperty types of keys for each OutputTypeprotected OutputTimeUnit
outputTimeUnit
Time unit to be used in outputsprotected Map<OutputType,Boolean>
outputTypeKeysLocked
Map to store which output types are already in use as keysprotected Set<OutputType>
outputTypes
List of registered OutputTypesprotected Map<OutputType,Boolean>
outputTypeValuesLocked
Map to store whether any data values have been stored for a given output type.protected Map<OutputType,OutputProperty[]>
outputValueProperties
Map of OutputProperty types for values for each OutputType-
Fields inherited from interface org.planit.output.formatter.OutputFormatter
MEMORY_OUTPUT_FORMATTER, NOT_SPECIFIED, PLANIT_OUTPUT_FORMATTER
-
-
Constructor Summary
Constructors Constructor Description BaseOutputFormatter(IdGroupingToken groupId)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description long
getId()
Collect the id of the formatterOutputTimeUnit
getOutputTimeUnit()
Returns the current time unitsString
getOutputTimeUnitString()
Returns the current time units as a Stringprotected void
lockOutputProperties(OutputType outputType)
Lock the output keys and values for a specified output typevoid
persist(TimePeriod timePeriod, Set<Mode> modes, OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputAdapter outputAdapter)
Write data to output filevoid
setOutputTimeUnit(OutputTimeUnit outputTimeUnit)
Sets the current time unitsprotected abstract void
writeGeneralResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex)
Write General results for the current time period to the CSV fileprotected abstract void
writeLinkResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex)
Write link results for the current time period to the CSV fileprotected abstract void
writeOdResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex)
Write Origin-Destination results for the time period to the CSV fileprotected abstract void
writePathResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex)
Write OD Path results for the time period to the CSV fileprotected abstract void
writeSimulationResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex)
Write Simulation results for the current time period to the CSV file-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.planit.output.formatter.OutputFormatter
canHandleMultipleIterations, finaliseAfterSimulation, initialiseBeforeSimulation
-
-
-
-
Field Detail
-
outputKeyProperties
protected Map<OutputType,OutputProperty[]> outputKeyProperties
Map of OutputProperty types of keys for each OutputType
-
outputValueProperties
protected Map<OutputType,OutputProperty[]> outputValueProperties
Map of OutputProperty types for values for each OutputType
-
outputTypeValuesLocked
protected Map<OutputType,Boolean> outputTypeValuesLocked
Map to store whether any data values have been stored for a given output type. If data have been stored for an output type, it is "locked" so its key and output properties cannot be reset
-
outputTypeKeysLocked
protected Map<OutputType,Boolean> outputTypeKeysLocked
Map to store which output types are already in use as keys
-
id
protected long id
Unique internal id of the output writer
-
outputTimeUnit
protected OutputTimeUnit outputTimeUnit
Time unit to be used in outputs
-
outputTypes
protected Set<OutputType> outputTypes
List of registered OutputTypes
-
initialCostsLocation
protected String initialCostsLocation
The location of the initial costs files
-
-
Constructor Detail
-
BaseOutputFormatter
public BaseOutputFormatter(IdGroupingToken groupId)
Constructor- Parameters:
groupId
- , contiguous id generation within this group for instances of this class
-
-
Method Detail
-
lockOutputProperties
protected void lockOutputProperties(OutputType outputType)
Lock the output keys and values for a specified output type- Parameters:
outputType
- the output type to be locked
-
writeLinkResultsForCurrentTimePeriod
protected abstract void writeLinkResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex) throws PlanItException
Write link results for the current time period to the CSV file- Parameters:
outputConfiguration
- output configurationoutputTypeConfiguration
- OutputTypeConfiguration for current persistencecurrentOutputType
- active OutputTypeEnum of the configuration we are persisting for (can be a SubOutputTypeEnum or an OutputType)outputAdapter
- OutputAdapter for current persistencemodes
- Set of modes of traveltimePeriod
- current time perioditerationIndex
- current iteration index- Throws:
PlanItException
- thrown if there is an error
-
writeGeneralResultsForCurrentTimePeriod
protected abstract void writeGeneralResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex) throws PlanItException
Write General results for the current time period to the CSV file- Parameters:
outputConfiguration
- output configurationoutputTypeConfiguration
- OutputTypeConfiguration for current persistencecurrentOutputType
- active OutputTypeEnum of the configuration we are persisting for (can be a SubOutputTypeEnum or an OutputType)outputAdapter
- OutputAdapter for current persistencemodes
- Set of modes of traveltimePeriod
- current time perioditerationIndex
- current iteration index- Throws:
PlanItException
- thrown if there is an error
-
writeOdResultsForCurrentTimePeriod
protected abstract void writeOdResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex) throws PlanItException
Write Origin-Destination results for the time period to the CSV file- Parameters:
outputConfiguration
- output configurationoutputTypeConfiguration
- OutputTypeConfiguration for current persistencecurrentOutputType
- active OutputTypeEnum of the configuration we are persisting for (can be a SubOutputTypeEnum or an OutputType)outputAdapter
- OutputAdapter for current persistencemodes
- Set of modes of traveltimePeriod
- current time perioditerationIndex
- current iteration index- Throws:
PlanItException
- thrown if there is an error
-
writeSimulationResultsForCurrentTimePeriod
protected abstract void writeSimulationResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex) throws PlanItException
Write Simulation results for the current time period to the CSV file- Parameters:
outputConfiguration
- output configurationoutputTypeConfiguration
- OutputTypeConfiguration for current persistencecurrentOutputType
- active OutputTypeEnum of the configuration we are persisting for (can be a SubOutputTypeEnum or an OutputType)outputAdapter
- OutputAdapter for current persistencemodes
- Set of modes of traveltimePeriod
- current time perioditerationIndex
- current iteration index- Throws:
PlanItException
- thrown if there is an error
-
writePathResultsForCurrentTimePeriod
protected abstract void writePathResultsForCurrentTimePeriod(OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputTypeEnum currentOutputType, OutputAdapter outputAdapter, Set<Mode> modes, TimePeriod timePeriod, int iterationIndex) throws PlanItException
Write OD Path results for the time period to the CSV file- Parameters:
outputConfiguration
- output configurationoutputTypeConfiguration
- OutputTypeConfiguration for current persistencecurrentOutputType
- active OutputTypeEnum of the configuration we are persisting for (can be a SubOutputTypeEnum or an OutputType)outputAdapter
- OutputAdapter for current persistencemodes
- Set of modes of traveltimePeriod
- current time perioditerationIndex
- current iteration index- Throws:
PlanItException
- thrown if there is an error
-
persist
public void persist(TimePeriod timePeriod, Set<Mode> modes, OutputConfiguration outputConfiguration, OutputTypeConfiguration outputTypeConfiguration, OutputAdapter outputAdapter) throws PlanItException
Write data to output file- Specified by:
persist
in interfaceOutputFormatter
- Parameters:
timePeriod
- time period for current resultsmodes
- Set of modes covered by current resultsoutputConfiguration
- output configurationoutputTypeConfiguration
- output configuration being usedoutputAdapter
- output adapter being used- Throws:
PlanItException
- thrown if there is an error
-
getId
public long getId()
Description copied from interface:OutputFormatter
Collect the id of the formatter- Specified by:
getId
in interfaceOutputFormatter
- Returns:
- id
-
getOutputTimeUnit
public OutputTimeUnit getOutputTimeUnit()
Returns the current time units- Returns:
- the current time units
-
setOutputTimeUnit
public void setOutputTimeUnit(OutputTimeUnit outputTimeUnit)
Sets the current time units- Parameters:
outputTimeUnit
- the specified time units
-
getOutputTimeUnitString
public String getOutputTimeUnitString()
Returns the current time units as a String- Returns:
- the current time units as a String
-
-