Class ModelContainer
Inheritance
System.Object
ModelContainer
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: Mars.Core.dll
Syntax
public class ModelContainer : IModelContainer, IModelResolver, IDisposable
Constructors
|
Improve this Doc
View Source
ModelContainer()
Declaration
|
Improve this Doc
View Source
ModelContainer(IConfigLoader)
Declaration
public ModelContainer(IConfigLoader configLoader)
Parameters
Properties
|
Improve this Doc
View Source
ConfigLoader
Gets the current inputConfiguration repository
Declaration
public IConfigLoader ConfigLoader { get; }
Property Value
|
Improve this Doc
View Source
Layers
Gets all resolved layer instances of this simulation.
Declaration
public IDictionary<Type, ILayer> Layers { get; }
Property Value
Type |
Description |
System.Collections.Generic.IDictionary<System.Type, ILayer> |
|
|
Improve this Doc
View Source
ModelDescription
Retrieve model description as the root object
Declaration
public ModelDescription ModelDescription { get; }
Property Value
Methods
|
Improve this Doc
View Source
AddAgent<TAgent, TLayer>()
Adds an agent type to the containers with the typename as identifier
and the layer type where the agent type lies on.
Declaration
public AgentType AddAgent<TAgent, TLayer>()
where TAgent : class, IAgent where TLayer : class, ILayer
Returns
Type Parameters
Name |
Description |
TAgent |
The agent type to add |
TLayer |
The layer type where the agent lies on |
|
Improve this Doc
View Source
AddAgent<TAgent, TLayer>(String)
Adds an agent type to the containers with the specified name
and the layer type where the agent type lies on
Declaration
public AgentType AddAgent<TAgent, TLayer>(string name)
where TAgent : class, IAgent where TLayer : class, ILayer
Parameters
Type |
Name |
Description |
System.String |
name |
A name of the agent type, can differ from exact type name |
Returns
Type Parameters
Name |
Description |
TAgent |
The agent type to add |
TLayer |
The layer type where the agent lies on |
|
Improve this Doc
View Source
AddEntity<TEntity>()
Adds a layer type to the container with typename as identifier
and their optional explicit interface implementations
Declaration
public EntityType AddEntity<TEntity>()
where TEntity : class, IEntity, new()
Returns
Type Parameters
Name |
Description |
TEntity |
The actual layer type to add |
|
Improve this Doc
View Source
AddEntity<TEntity>(String)
Adds a layer type to the container with the specified name
and their optional construction dependencies
Declaration
public EntityType AddEntity<TEntity>(string name)
where TEntity : class, IEntity, new()
Parameters
Type |
Name |
Description |
System.String |
name |
The optional differ name of the type |
Returns
Type Parameters
Name |
Description |
TEntity |
The actual layer type to add |
|
Improve this Doc
View Source
AddLayer<TLayer>(String, IEnumerable<Type>)
Adds a layer type to the container with the specified name
and their optional construction dependencies
Declaration
public LayerType AddLayer<TLayer>(string name, IEnumerable<Type> interfaces = null)
where TLayer : ILayer
Parameters
Type |
Name |
Description |
System.String |
name |
The optional differ name of the type |
System.Collections.Generic.IEnumerable<System.Type> |
interfaces |
All explicit implemented interfaces or null if no interfaces were used |
Returns
Type Parameters
Name |
Description |
TLayer |
The actual layer type to add |
|
Improve this Doc
View Source
AddLayer<TLayer>(Type[])
Adds a layer type to the container with typename as identifier
and their optional explicit interface implementations
Declaration
public LayerType AddLayer<TLayer>(params Type[] interfaces)
where TLayer : class, ILayer
Parameters
Type |
Name |
Description |
System.Type[] |
interfaces |
All explicit implemented interfaces or null if no interfaces were used |
Returns
Type Parameters
Name |
Description |
TLayer |
The actual layer type to add |
|
Improve this Doc
View Source
BuildOrder(ModelDescription)
Calculates the dependency order of the Layer types within the passed model description
Declaration
public IList<LayerType> BuildOrder(ModelDescription description)
Parameters
Type |
Name |
Description |
ModelDescription |
description |
model description with layer types |
Returns
Type |
Description |
System.Collections.Generic.IList<LayerType> |
A System.Collections.Generic.List<T> or null if no layer in model description was specified |
|
Improve this Doc
View Source
CreateModel(ModelDescription, SimulationConfig)
Declaration
public IList<TypeMapping> CreateModel(ModelDescription description, SimulationConfig config)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IList<TypeMapping> |
A collection with mapped types |
|
Improve this Doc
View Source
CreateModel(ModelDescription, String)
Declaration
public SimulationConfig CreateModel(ModelDescription description, string config)
Parameters
Type |
Name |
Description |
ModelDescription |
description |
The model description to set |
System.String |
config |
The config as json or yaml as direct content or file path |
Returns
|
Improve this Doc
View Source
Dispose()
Declaration
|
Improve this Doc
View Source
Match(ModelDescription, SimulationConfig)
Matches the the type mappings of the to their respective
types of the
Declaration
public IList<TypeMapping> Match(ModelDescription description, SimulationConfig config)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IList<TypeMapping> |
A collection with mapped types |
|
Improve this Doc
View Source
Resolve(ModelDescription)
Resolve the layer dependency graph and creates layer instances
with their expected parameters and dependencies
Declaration
public LayerInstanceContainer Resolve(ModelDescription modelDescription)
Parameters
Returns
|
Improve this Doc
View Source
Validate(ModelDescription, SimulationConfig)
Validates the model itself, the simulation config itself and their mapping between
to check whether the existing simulation config matches the model description
Declaration
public IList<ValidationResult> Validate(ModelDescription description, SimulationConfig config)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IList<ValidationResult> |
Collection of warning and infos identified by the validation |
Implements
System.IDisposable
Extension Methods