Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
BucketTime.cs
1using System;
2using System.Threading.Tasks;
3using System.Xml;
4using Waher.Content;
6
8{
13 {
14 private Duration duration;
15
22 : base(Parent, Model)
23 {
24 }
25
29 public Duration Duration => this.duration;
30
34 public override string LocalName => nameof(BucketTime);
35
43 {
44 return new BucketTime(Parent, Model);
45 }
46
51 public override Task FromXml(XmlElement Definition)
52 {
53 this.duration = XML.Attribute(Definition, "duration", Duration.Zero);
54
55 if (this.duration <= Duration.Zero)
56 throw new Exception("Bucket durations must be positive.");
57
58 return base.FromXml(Definition);
59 }
60
64 public override async Task Start()
65 {
66 await base.Start();
67
68 this.Bucket.BucketTime = this.duration;
69 }
70 }
71}
Root node of a simulation model
Definition: Model.cs:49
Defines the bucket time of a series.
Definition: BucketTime.cs:13
override ISimulationNode Create(ISimulationNode Parent, Model Model)
Creates a new instance of the node.
Definition: BucketTime.cs:42
override string LocalName
Local name of XML element defining contents of class.
Definition: BucketTime.cs:34
override async Task Start()
Starts the node.
Definition: BucketTime.cs:64
BucketTime(ISimulationNode Parent, Model Model)
Defines the bucket time of a series.
Definition: BucketTime.cs:21
override Task FromXml(XmlElement Definition)
Sets properties and attributes of class in accordance with XML definition.
Definition: BucketTime.cs:51
Abstract base class for series references nodes.
ISimulationNode Parent
Parent node in the simulation model.
Helps with common XML-related tasks.
Definition: XML.cs:19
static string Attribute(XmlElement E, string Name)
Gets the value of an XML attribute.
Definition: XML.cs:914
Basic interface for simulator nodes. Implementing this interface allows classes with default contruct...
Represents a duration value, as defined by the xsd:duration data type: http://www....
Definition: Duration.cs:13
static readonly Duration Zero
Zero value
Definition: Duration.cs:532