C# Client Library
A C# Client Library for the AnalyzeRe REST API
Loading...
Searching...
No Matches
AnalyzeRe.Metrics.ReportingPeriod Class Reference

A reporting period which dictates optional begin and end dates to constrain what event losses are included in the distribution based on their occurrence date and time (sequence). More...

Public Member Functions

 ReportingPeriod (DateTime? begin=null, DateTime? end=null)
 Construct a new reporting period.
 
override bool Equals (object obj)
 Determine if this ReportingPeriod is equivalent to another.
 
bool Equals (ReportingPeriod other)
 Determine if this ReportingPeriod is equivalent to another.
 
override int GetHashCode ()
 Get the HashCode for this ReportingPeriod.
 
virtual T ShallowCopy< T > ()
 Create a shallow copy of this object.

See also
ExtensionMethods.DeepCopy<T>

for a serializer-based copy method.

 

Protected Member Functions

virtual void AfterMembersCloned (APIType originalResource)
 Invoked following construction if the current instance has been created using a member-wise clone of some other instance. Override if your derived APIType class contains some members that should not be cloned.
 

Properties

DateTime? begin [get, set]
 (Optional) The inclusive start date of the reporting period. If specified, event losses occurring before this date will not be included in the resulting distribution.
 
DateTime? end [get, set]
 (Optional) The exclusive end date of the reporting period. If specified, event losses occurring on or after this date will not be included in the resulting distribution.
 

Detailed Description

A reporting period which dictates optional begin and end dates to constrain what event losses are included in the distribution based on their occurrence date and time (sequence).

Definition at line 9 of file ReportingPeriod.cs.

Inheritance diagram for AnalyzeRe.Metrics.ReportingPeriod:
AnalyzeRe.APIType AnalyzeRe.IAPIType

Constructor & Destructor Documentation

◆ ReportingPeriod()

AnalyzeRe.Metrics.ReportingPeriod.ReportingPeriod ( DateTime?  begin = null,
DateTime?  end = null 
)
inline

Construct a new reporting period.

Parameters
begin(Optional) The inclusive start date of the reporting period. If specified, event losses occurring before this date will not be included in the resulting distribution.
end(Optional) The exclusive end date of the reporting period. If specified, event losses occurring on or after this date will not be included in the resulting distribution.
Exceptions
ArgumentExceptionBoth begin and end dates are not null and the begin date is not less than the end date.

Definition at line 37 of file ReportingPeriod.cs.

Member Function Documentation

◆ AfterMembersCloned()

virtual void AnalyzeRe.APIType.AfterMembersCloned ( APIType  originalResource)
inlineprotectedvirtualinherited

Invoked following construction if the current instance has been created using a member-wise clone of some other instance. Override if your derived APIType class contains some members that should not be cloned.

Overriding implementations should be sure to invoke base.AfterMembersCloned().

A sane question for a code reviewer to ask might be: "Why not avoid copying those members in the first place?" The answer is that there is no framework-supported method of excluding members from a MemberwiseClone. The only officially supported solution is to not use the object.MemberwiseClone method at all and instead have each class implement it's own Copy method. In our case, most objects have no need to specialize their copy implementation (even though they could - the ShallowCopy<T> method is marked virtual). It's simpler to simply "correct" any special-case members after the fact, and requires less error-prone code than if the code were responsible for ensuring no members were missed in a copy. It's also faster than any reflection-based approach, even though such an approach could benefit from custom attributes meant to exclude certain members from copying.

Reimplemented in AnalyzeRe.APITypes.APIResource_WithDataEndpoint, AnalyzeRe.APIResourceView.BaseAPIResourceView, AnalyzeRe.Distributions.CustomDistribution, AnalyzeRe.LossSets.LossSet_WithData, AnalyzeRe.Optimization.Candidate, AnalyzeRe.Optimization.OptimizationView, and AnalyzeRe.StaticSimulation.

Definition at line 37 of file APIType.cs.

◆ Equals() [1/2]

override bool AnalyzeRe.Metrics.ReportingPeriod.Equals ( object  obj)
inline

Determine if this ReportingPeriod is equivalent to another.

Parameters
objObject to compare to this.
Returns
True if the other ReportingPeriod is not null and the begin and end DateTimes are the same.

Definition at line 61 of file ReportingPeriod.cs.

◆ Equals() [2/2]

bool AnalyzeRe.Metrics.ReportingPeriod.Equals ( ReportingPeriod  other)
inline

Determine if this ReportingPeriod is equivalent to another.

Parameters
otherThe ReportingPeriod to compare to this one.
Returns
True if the other ReportingPeriod is not null and the begin and end DateTimes are the same.

Definition at line 51 of file ReportingPeriod.cs.

◆ GetHashCode()

override int AnalyzeRe.Metrics.ReportingPeriod.GetHashCode ( )
inline

Get the HashCode for this ReportingPeriod.

Returns
A unique HashCode for this ReportingPeriod

Definition at line 69 of file ReportingPeriod.cs.

◆ ShallowCopy< T >()

virtual T AnalyzeRe.APIType.ShallowCopy< T > ( )
inlinevirtualinherited

Create a shallow copy of this object.

See also
ExtensionMethods.DeepCopy<T>

for a serializer-based copy method.

Returns
A shallow copy of this object.

If this object contains any members that reference the current object (this), the class should override this method to avoid cloning a reference to the old class.

Implements AnalyzeRe.IAPIType.

Type Constraints
T :IAPIType 

Definition at line 14 of file APIType.cs.

Property Documentation

◆ begin

DateTime? AnalyzeRe.Metrics.ReportingPeriod.begin
getset

(Optional) The inclusive start date of the reporting period. If specified, event losses occurring before this date will not be included in the resulting distribution.

Definition at line 17 of file ReportingPeriod.cs.

◆ end

DateTime? AnalyzeRe.Metrics.ReportingPeriod.end
getset

(Optional) The exclusive end date of the reporting period. If specified, event losses occurring on or after this date will not be included in the resulting distribution.

Definition at line 24 of file ReportingPeriod.cs.


The documentation for this class was generated from the following file: