• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API

    Show / Hide Table of Contents
    • Mars.Core
      • DependencyRegistrationCore
    • Mars.Core.Data
      • AbstractConfigLoader
      • AbstractEntityManager
      • AgentManagerImpl
      • DomainDataMediatorImpl
      • EntityManagerImpl
      • IAgentManager
      • IEntityManager
      • IEntityMapping
      • IGeneratedEntityLogger
      • IGeneratedLayerLogger
      • IGeneratedLogger<TModel>
      • IGeneratedTypeLogger
      • IModelCompiler
      • IOutputLogger
      • IPlatformSelector
      • ISchemaMigrationProvider
      • ISerializerManager
      • PlatformSelectorImpl
    • Mars.Core.Data.Compiler
      • AbstractEntityMapper
      • AbstractJitMapper
      • AbstractLayerMapper
      • AbstractMapper<TModel>
      • AbstractTypeMapper
      • RoslynCompilerUtils
    • Mars.Core.Data.Entities
      • CircleFilter
      • Condition
      • ConjunctiveWhere
      • DataFrame
      • DisjunctiveWhere
      • EqualityCondition
      • IntersectionFilter
      • ISelection
      • NearestFilter
      • Query
      • WindowFilter
      • WithinFilter
    • Mars.Core.Data.Exceptions
      • AgentInitializationException
    • Mars.Core.Data.Mapping
      • DefaultSourceProvider
      • ReflectiveMapping
    • Mars.Core.Data.Wrapper
      • AbstractOperationWrapper
      • AbstractWrapper
      • AbstractWrapper<TOptions>
      • GlobalRestrictions
      • ICircleQueryOperation
      • IIntersectionOperation
      • ILookupOperation
      • INearestOperation
      • IOperation
      • IPlatform
      • IQueryOperation
      • ISnapshot
      • IWindowQueryOperation
      • IWithinOperation
      • IWrapper
      • KnnGraphWrapper
      • PostGisWrapper
    • Mars.Core.Data.Wrapper.Document
      • IMongoConnection
      • IMongoWrapper
      • MongoDbIteratorHelper
      • MongoDbWrapper
    • Mars.Core.Data.Wrapper.File
      • AbstractFileWrapper<TOptions>
      • AscWrapper
      • GeoJsonWrapper
    • Mars.Core.Data.Wrapper.Memory
      • DataTableWrapper
      • GeoHashTrieWrapper
      • KdTreeWrapper
      • TripPosition
      • TripPositionCoordinateConverter
      • TripsCollection
      • TripsLineConverter
      • TripsTrajectoryWrapper
    • Mars.Core.Data.Wrapper.Relational
      • AbstractRelationalConnection
      • PostgresSqlDbConnection
      • PostgresSqlWrapper
      • RelationalMapperException
      • RelationalSqlWrapper<TOptions>
      • SqliteDbConnection
      • SqliteWrapper
    • Mars.Core.Data.Wrapper.Stream
      • MqttWrapper
      • SimulationTypeInfo
    • Mars.Core.Executor
      • IRuntimeModel
      • ISimulationProgress
      • IStepExecutor
    • Mars.Core.Executor.Entities
      • Parametrization
      • StepParam
    • Mars.Core.Executor.Implementation
      • RuntimeModelImpl
      • SimulationProgressImpl
      • StepExecutionUseCase
    • Mars.Core.Model
      • IConfigLoader
      • IModelContainer
      • IModelResolver
    • Mars.Core.Model.Entities
      • LayerInstanceContainer
    • Mars.Core.Model.Exceptions
      • InvalidMappingException
      • MissingConstructorException
      • ModelResolutionException
      • ValidationException
    • Mars.Core.Model.Implementation
      • DependencyBuilder
      • MappingHelper
      • ModelContainer
      • ValidationIssueLevel
      • ValidationResult
      • Validator
    • Mars.Core.Simulation
      • ISimulation
      • ISimulationControl
    • Mars.Core.Simulation.Entities
      • SimulationRestartArgs
      • SimulationWorkflowState

    Class AbstractEntityManager

    This abstract class implements a subset of dependencies used to map input data objects to concrete entity related model objects.
    Inheritance
    System.Object
    DomainDataMediatorImpl
    AbstractEntityManager
    AgentManagerImpl
    EntityManagerImpl
    Inherited Members
    DomainDataMediatorImpl.Read<T>(IEnumerable<Input>)
    Namespace: Mars.Core.Data
    Assembly: Mars.Core.dll
    Syntax
    public abstract class AbstractEntityManager : DomainDataMediatorImpl

    Constructors

    AbstractEntityManager(IConfigLoader, ReflectiveMapping)

    This class is responsible for the entity mapping using reflection, JIT proxies and the simulation config.
    Declaration
    protected AbstractEntityManager(IConfigLoader configLoader, ReflectiveMapping reflectiveMappingWorkflow)
    Parameters
    Type Name Description
    IConfigLoader configLoader The config loader holding a reference to the actual simulation config.
    ReflectiveMapping reflectiveMappingWorkflow A reflection-based mapper.

    Properties

    ConfigLoader

    Get the loader holding a reference to the actual simulation config and the static model description.
    Declaration
    protected IConfigLoader ConfigLoader { get; }
    Property Value
    Type Description
    IConfigLoader

    Mappings

    Gets and initializes a collection of all mappings from a precise type to their mapping of the config.
    Declaration
    protected IDictionary<Type, TypeMapping> Mappings { get; }
    Property Value
    Type Description
    IDictionary<Type, TypeMapping>

    MappingWorkflow

    This sub-component maps the input of a concrete data object to the constructor or properties of a model object.
    Declaration
    protected ReflectiveMapping MappingWorkflow { get; }
    Property Value
    Type Description
    ReflectiveMapping

    Methods

    Create<TEntity>(IReadOnlyCollection<IModelObject>, TypeMapping, TypeElement, IEnumerable<IDomainData>)

    Creates concrete TEntity with the given dependencies and data objects describing the entity.
    Declaration
    protected IEnumerable<TEntity> Create<TEntity>(IReadOnlyCollection<IModelObject> dependencies, TypeMapping mapping, TypeElement modelType, IEnumerable<IDomainData> dataObjects)
        where TEntity : IEntity, new()
    Parameters
    Type Name Description
    IReadOnlyCollection<IModelObject> dependencies Required dependencies such as other layers or environments.
    TypeMapping mapping The concrete mapping for this type and the reference to made configurations.
    TypeElement modelType The static model description of this type with its input properties, inheritance etc.
    IEnumerable<IDomainData> dataObjects A set of data objects where each TEntity shall be constructed from.
    Returns
    Type Description
    IEnumerable<TEntity> Returns an iterator over a construction of TEntities's as long the data object provide new data or when no data is provided the user has limit the set by calling Take(nthElements)
    Type Parameters
    Name Description
    TEntity The concrete type to return.
    Remarks
    This construction is an infinite iterator based construction when no data objects are provided to this method. This means the call have to limit the set of returned objects.
    Back to top Copyright © MARS GROUP.
    HAW Hamburg