MongoDBExporter

class MongoDBExporter<T, P : Position<P>> @JvmOverloads constructor(val uri: String, val dbName: String = DEFAULT_DATABASE, val interval: Double = DEFAULT_INTERVAL, appendTime: Boolean = false) : AbstractExporter<T, P> (source)

Exports data to a MongoDB instance.

Parameters

uri

the connection URI of the database instance.

dbName

the name the database to export data to.

interval

the sampling time, defaults to AbstractExporter.DEFAULT_INTERVAL.

appendTime

if true it will always generate a new Mongo document, false to overwrite.

Constructors

Link copied to clipboard
constructor(uri: String, dbName: String = DEFAULT_DATABASE, interval: Double = DEFAULT_INTERVAL, appendTime: Boolean = false)

Properties

Link copied to clipboard
lateinit var collectionName: String

The name of the collection related to the current simulation in execution.

Link copied to clipboard
lateinit override var dataExtractors: List<Extractor<*>>

The List of Extractor used to export simulations data.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val uri: String

Functions

Link copied to clipboard
override fun bindDataExtractors(dataExtractors: List<Extractor<*>>)

Assign the list of dataExtractors to the selected Exporter.

Link copied to clipboard
override fun bindVariables(variables: Map<String, *>)

Assign the map of variables to the selected Exporter.

Link copied to clipboard
open override fun close(environment: Environment<T, P>, time: Time, step: Long)

Close the export environment. This method is called when the simulation finishes.

Link copied to clipboard
open override fun exportData(environment: Environment<T, P>, reaction: Actionable<T>?, time: Time, step: Long)

Delegates the concrete implementation of this method to his subclasses.

Link copied to clipboard
open override fun setup(environment: Environment<T, P>)

Prepare the export environment. This method is called only once upon simulation initialization.

Link copied to clipboard
override fun update(environment: Environment<T, P>, reaction: Actionable<T>?, time: Time, step: Long)

Every step of the simulation check if is time to export data depending on the sampling interval. Converts the division of the current time and the interval to Long in order to export data only when the difference between steps is as big as the sampling interval.