# Path: lems/base/base.py
# class LEMSBase(object):
#     """
#     Base object for PyLEMS.
#     """
# 
#     def copy(self):
#         return copy.deepcopy(self)
# 
#     def toxml(self):
#         return ""
# 
# Path: lems/base/errors.py
# class ModelError(LEMSError):
#     """
#     Exception class to signal errors in creating the model.
#     """
# 
#     pass
# 
# Path: lems/base/map.py
# class Map(dict, LEMSBase):
#     """
#     Map class.
# 
#     Same as dict, but iterates over values.
#     """
# 
#     def __init__(self, *params, **key_params):
#         """
#         Constructor.
#         """
# 
#         dict.__init__(self, *params, **key_params)
# 
#     def __iter__(self):
#         """
#         Returns an iterator.
#         """
# 
#         return iter(self.values())


from lems.base.base import LEMSBase
from lems.base.errors import ModelError
from lems.base.map import Map
        )

    def __str__(self):
        return "EventWriter, path: {0}, fileName: {1}, format: {2}".format(
            self.path, self.file_name, self.format
        )


class Simulation(LEMSBase):
    """
    Stores the simulation-related attributes of a component-type.
    """

    def __init__(self):
        """
        Constructor.
        """

        self.runs = Map()
        """ Map of runs in this dynamics regime.
        :type: Map(string -> lems.model.simulation.Run) """

        self.records = Map()
        """ Map of recorded variables in this dynamics regime.
        :type: Map(string -> lems.model.simulation.Record """

        self.event_records = Map()
        """ Map of recorded events in this dynamics regime.
        :type: Map(string -> lems.model.simulation.EventRecord """


# Path: lems/base/base.py
# class LEMSBase(object):
#     """
#     Base object for PyLEMS.
#     """
# 
#     def copy(self):
#         return copy.deepcopy(self)
# 
#     def toxml(self):
#         return ""
# 
# Path: lems/base/errors.py
# class ModelError(LEMSError):
#     """
#     Exception class to signal errors in creating the model.
#     """
# 
#     pass
# 
# Path: lems/base/map.py
# class Map(dict, LEMSBase):
#     """
#     Map class.
# 
#     Same as dict, but iterates over values.
#     """
# 
#     def __init__(self, *params, **key_params):
#         """
#         Constructor.
#         """
# 
#         dict.__init__(self, *params, **key_params)
# 
#     def __iter__(self):
#         """
#         Returns an iterator.
#         """
# 
#         return iter(self.values())


# Path: lems/model/simulation.py
from lems.base.base import LEMSBase
from lems.base.errors import ModelError
from lems.base.map import Map

        )

    def __str__(self):
        return "EventWriter, path: {0}, fileName: {1}, format: {2}".format(
            self.path, self.file_name, self.format
        )


class Simulation(LEMSBase):
    """
    Stores the simulation-related attributes of a component-type.
    """

    def __init__(self):
        """
        Constructor.
        """

        self.runs = Map()
        """ Map of runs in this dynamics regime.
        :type: Map(string -> lems.model.simulation.Run) """

        self.records = Map()
        """ Map of recorded variables in this dynamics regime.
        :type: Map(string -> lems.model.simulation.Record """

        self.event_records = Map()
        """ Map of recorded events in this dynamics regime.
        :type: Map(string -> lems.model.simulation.EventRecord """


        self.data_displays = Map()