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

A "delayed payment" payment pattern models claims being paid in instalments at fixed delays after the claim occurred. More...

Classes

class  Payment
 Describes a single payment, which consists of a delay and fracational amount. More...
 

Public Member Functions

virtual T ShallowCopy< T > ()
 Create a shallow copy of this object.

See also
ExtensionMethods.DeepCopy<T>

for a serializer-based copy method.

 

Static Public Attributes

static readonly string CLASS_COLLECTION_NAME = "layers"
 The collection endpoint at which resources of this type reside on the server.
 

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

static string APITypeName [get]
 Can be used to get the API type name in a static context.
 
override string collection_name [get]
 The collection endpoint at which resources of this type reside on the server.
 
DateTime? created [get, set]
 The date and time when the resource was created on the system.
 
string description [get, set]
 A user-friendly description of the resource.
 
string id [get, set]
 The resource's unique identifier. It will be used in the request URL when requesting the resource from the server.
 
List< IReference< LossSet > > loss_sets [get, set]
 The list of LossSet references that is associated with the specific layer.
 
Dictionary< string, object > meta_data = new Dictionary<string, object>() [get, set]
 Any user-defined metadata for this layer.
 
DateTime? modified [get, set]
 The date and time when the resource was last modified on the system.
 
string Path [get]
 The relative path to this endpoint from the root URL.
 
List< Paymentpayments = new List<Payment>() [get, set]
 A list of payments to be generated for each occurrence. Each payment is described by a fractional Payment.amount, and a

See also
Payment.delay

in days following the original occurrence.

 
Policy policy [get, set]
 The Policy that overrides the default layer behaviour for forwarding and transforming loss records.
 
string type [get]
 The server name for this type of resource.
 

Detailed Description

A "delayed payment" payment pattern models claims being paid in instalments at fixed delays after the claim occurred.

These specialized structure types are primarily used to model cash flow. The intended use is to allow one to break each loss occurrences into one or more fractional amounts occuring at some later date. More generally, these structures can be used both to either independently or simultaneously:

  1. Split occurrences into additional occurrences posessing the same event id
  2. Temporally shift occurrences (adjust events to occur on different date-times) The DelayedPayment offsets the date-time of payments by a specified number of days since the original occurrence, while the FixedDatePayment 'snaps' all occurrences to the next payment date.

"Payments" generated by this structure will retain the RecordType of the original occurrence (e.g. RecordType.Loss). Each payment will also given a new timestamp (in accordance with the specified payments delays). This means that if any downstream structures are applied to the output of this structure, they will treat each payment as an independent occurrence. As such, payment structures should generally only be used transiently for reporting purposes, and not be part of a layer's persisted definition.

By e.g. including a Payment with an Payment.amount of 1 and a

See also
Payment.delay

of 0, you can create one or more copies of occurrences while maintaining the original occurrences in the structure's output.

Definition at line 34 of file DelayedPayment.cs.

Inheritance diagram for AnalyzeRe.Layers.DelayedPayment:
AnalyzeRe.Layers.Layer_WithLossSets AnalyzeRe.Layer AnalyzeRe.Layers.ILayer_WithLossSets AnalyzeRe.APITypes.StoredAPIResource_Polymorphic AnalyzeRe.ILayer AnalyzeRe.ILayer AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.ILayerSource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.ILayerSource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.StoredAPIResource

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.

◆ 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.

Member Data Documentation

◆ CLASS_COLLECTION_NAME

readonly string AnalyzeRe.Layer.CLASS_COLLECTION_NAME = "layers"
staticinherited

The collection endpoint at which resources of this type reside on the server.

Definition at line 15 of file Layer.cs.

Property Documentation

◆ APITypeName

string AnalyzeRe.APITypes.StoredAPIResource_Polymorphic.APITypeName
staticgetinherited

Can be used to get the API type name in a static context.

Definition at line 17 of file StoredAPIResource_Polymorphic.cs.

◆ collection_name

override string AnalyzeRe.Layer.collection_name
getinherited

The collection endpoint at which resources of this type reside on the server.

Implements AnalyzeRe.IAPIResource.

Definition at line 18 of file Layer.cs.

◆ created

DateTime? AnalyzeRe.APITypes.StoredAPIResource.created
getsetinherited

The date and time when the resource was created on the system.

Implements AnalyzeRe.APITypes.IStoredAPIResource.

Definition at line 19 of file StoredAPIResource.cs.

◆ description

string AnalyzeRe.APITypes.StoredAPIResource.description
getsetinherited

A user-friendly description of the resource.

Implements AnalyzeRe.APITypes.IStoredAPIResource.

Definition at line 14 of file StoredAPIResource.cs.

◆ id

string AnalyzeRe.APIResource.id
getsetinherited

The resource's unique identifier. It will be used in the request URL when requesting the resource from the server.

Implements AnalyzeRe.IAPIResource.

Definition at line 16 of file APIResource.cs.

◆ loss_sets

List<IReference<LossSet> > AnalyzeRe.Layers.Layer_WithLossSets.loss_sets
getsetinherited

The list of LossSet references that is associated with the specific layer.

Implements AnalyzeRe.Layers.ILayer_WithLossSets.

Definition at line 15 of file Layer_WithLossSets.cs.

◆ meta_data

Dictionary<string, object> AnalyzeRe.APITypes.StoredAPIResource.meta_data = new Dictionary<string, object>()
getsetinherited

Any user-defined metadata for this layer.

Implements AnalyzeRe.APITypes.IStoredAPIResource.

Definition at line 30 of file StoredAPIResource.cs.

◆ modified

DateTime? AnalyzeRe.APITypes.StoredAPIResource.modified
getsetinherited

The date and time when the resource was last modified on the system.

Implements AnalyzeRe.APITypes.IStoredAPIResource.

Definition at line 24 of file StoredAPIResource.cs.

◆ Path

string AnalyzeRe.APIResource.Path
getinherited

The relative path to this endpoint from the root URL.

The relative path to this endpoint from the root URL.

Exceptions
System.ArgumentExceptionIf this resource does not have an id.

Implements AnalyzeRe.APITypes.IEndpoint.

Definition at line 27 of file APIResource.cs.

◆ payments

List<Payment> AnalyzeRe.Layers.DelayedPayment.payments = new List<Payment>()
getset

A list of payments to be generated for each occurrence. Each payment is described by a fractional Payment.amount, and a

See also
Payment.delay

in days following the original occurrence.

Definition at line 96 of file DelayedPayment.cs.

◆ policy

Policy AnalyzeRe.Layers.Layer_WithLossSets.policy
getsetinherited

The Policy that overrides the default layer behaviour for forwarding and transforming loss records.

Implements AnalyzeRe.Layers.ILayer_WithLossSets.

Definition at line 20 of file Layer_WithLossSets.cs.

◆ type

string AnalyzeRe.APITypes.StoredAPIResource_Polymorphic.type
getinherited

The server name for this type of resource.

Implements AnalyzeRe.APITypes.IAPI_Polymorphic.

Definition at line 13 of file StoredAPIResource_Polymorphic.cs.


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