C# Client Library
A C# Client Library for the AnalyzeRe REST API
AnalyzeRe.Layers.SurplusShare Class Reference

Representation of a Surplus Share contract. 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. More...

 

Public Attributes

override string collection_name => CLASS_COLLECTION_NAME
 The collection endpoint at which resources of this type reside on the server. More...
 
string Path => API.GetResourcePath(this)
 The relative path to this endpoint from the root URL. More...
 
string type => TypeResolver.GetTypeNameForAPIType(GetType())
 The server name for this type of resource. More...
 

Static Public Attributes

static string APITypeName
 Can be used to get the API type name in a static context. More...
 
static readonly string CLASS_COLLECTION_NAME = "layers"
 The collection endpoint at which resources of this type reside on the server. More...
 

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

Properties

double computed_participation [get]
 The calculated participation based on the sum insured. More...
 
DateTime created [get, set]
 The date and time when the resource was created on the system. More...
 
string description [get, set]
 A user-friendly description of the resource. More...
 
DateTime expiry_date [get, set]
 The date and time when effect of the contract expires. Used to determine which losses impact this layer and their applied order. Set to null to use all losses in their defined sequence. More...
 
List< Feefees [get, set]
 The fees that are applied to this layer's trials. More...
 
string id [get, set]
 The resource's unique identifier. It will be used in the request URL when requesting the resource from the server. More...
 
DateTime inception_date [get, set]
 The date and time when the contract takes effect. Used to determine which losses impact this layer and their applied order. Set to null to use all losses in their defined sequence. More...
 
List< IReference< LossSet > > loss_sets [get, set]
 The list of LossSet references that is associated with the specific layer. More...
 
Dictionary< string, object > meta_data [get, set]
 Any user-defined metadata for this layer. More...
 
DateTime modified [get, set]
 The date and time when the resource was last modified on the system. More...
 
double number_of_lines [get, set]
 The multiplier on the retained_line that determines the maximum amount of risk the reinsurer can take on. More...
 
override double participation [get, set]
 The calculated participation based on the sum insured. This inherited property has had its setter overridden to throw an exception. This property merely returns the computed_participation More...
 
Policy policy [get, set]
 The Policy that overrides the default layer behaviour for forwarding and transforming loss records. More...
 
MonetaryUnit premium [get, set]
 The premium expected to be written by this layer excluding reinstatement premiums. More...
 
MonetaryUnit retained_line [get, set]
 The amount (of the sums_insured) that the primary or cedant will retain on a pro-rated basis. (e.g. a full loss will result in the retained line being the cedant's loss). More...
 
MonetaryUnit sums_insured [get, set]
 The maximum amount to be covered by the Surplus Share per event occurrence. More...
 

Detailed Description

Representation of a Surplus Share contract.

Definition at line 8 of file SurplusShare.cs.

Inheritance diagram for AnalyzeRe.Layers.SurplusShare:
AnalyzeRe.Layers.Layer_WithTerms AnalyzeRe.Layers.ILayer_WithOccurrenceTerms AnalyzeRe.Layers.Layer_WithLossSets AnalyzeRe.Layers.ILayer_WithTerms AnalyzeRe.Layers.ILayer_WithTerms AnalyzeRe.Layer AnalyzeRe.Layers.ILayer_WithLossSets AnalyzeRe.Layers.ILayer_WithLossSets AnalyzeRe.Layers.ILayer_WithLossSets AnalyzeRe.APITypes.StoredAPIResource_Polymorphic AnalyzeRe.ILayer AnalyzeRe.ILayer 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.IStoredAPIResource AnalyzeRe.ILayerSource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.ILayerSource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.StoredAPIResource

Member Function Documentation

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.APIResourceView.BaseAPIResourceView, AnalyzeRe.Optimization.OptimizationView, AnalyzeRe.Optimization.Candidate, AnalyzeRe.StaticSimulation, AnalyzeRe.Distributions.CustomDistribution, AnalyzeRe.LossSets.LossSet_WithData, and AnalyzeRe.APITypes.APIResource_WithDataEndpoint.

Definition at line 37 of file APIType.cs.

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

string AnalyzeRe.APITypes.StoredAPIResource_Polymorphic.APITypeName
staticinherited
Initial value:
=> TypeResolver.GetTypeNameForAPIType(
MethodBase.GetCurrentMethod().DeclaringType)

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

Definition at line 17 of file StoredAPIResource_Polymorphic.cs.

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.

override string AnalyzeRe.Layer.collection_name => CLASS_COLLECTION_NAME
inherited

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

Definition at line 18 of file Layer.cs.

string AnalyzeRe.APIResource.Path => API.GetResourcePath(this)
inherited

The relative path to this endpoint from the root URL.

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

Definition at line 27 of file APIResource.cs.

string AnalyzeRe.APITypes.StoredAPIResource_Polymorphic.type => TypeResolver.GetTypeNameForAPIType(GetType())
inherited

The server name for this type of resource.

Definition at line 13 of file StoredAPIResource_Polymorphic.cs.

Property Documentation

double AnalyzeRe.Layers.SurplusShare.computed_participation
get

The calculated participation based on the sum insured.

Exceptions
NotSupportedExceptionSurplusShare participation is calculated from sums_insured, retained_line, and number_of_lines properties. If one of these has a different currency from the others, the participation cannot be computed client side and the user must first POST the resource to get its computed participation from the server.

Definition at line 70 of file SurplusShare.cs.

DateTime AnalyzeRe.APITypes.StoredAPIResource.created
getsetinherited

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

Definition at line 19 of file StoredAPIResource.cs.

string AnalyzeRe.APITypes.StoredAPIResource.description
getsetinherited

A user-friendly description of the resource.

Definition at line 14 of file StoredAPIResource.cs.

DateTime AnalyzeRe.Layers.Layer_WithTerms.expiry_date
getsetinherited

The date and time when effect of the contract expires. Used to determine which losses impact this layer and their applied order. Set to null to use all losses in their defined sequence.

Definition at line 37 of file Layer_WithTerms.cs.

List<Fee> AnalyzeRe.Layers.Layer_WithTerms.fees
getsetinherited

The fees that are applied to this layer's trials.

Definition at line 49 of file Layer_WithTerms.cs.

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.

Definition at line 16 of file APIResource.cs.

DateTime AnalyzeRe.Layers.Layer_WithTerms.inception_date
getsetinherited

The date and time when the contract takes effect. Used to determine which losses impact this layer and their applied order. Set to null to use all losses in their defined sequence.

Definition at line 29 of file Layer_WithTerms.cs.

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

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

Definition at line 15 of file Layer_WithLossSets.cs.

Dictionary<string, object> AnalyzeRe.APITypes.StoredAPIResource.meta_data
getsetinherited

Any user-defined metadata for this layer.

Definition at line 30 of file StoredAPIResource.cs.

DateTime AnalyzeRe.APITypes.StoredAPIResource.modified
getsetinherited

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

Definition at line 24 of file StoredAPIResource.cs.

double AnalyzeRe.Layers.SurplusShare.number_of_lines
getset

The multiplier on the retained_line that determines the maximum amount of risk the reinsurer can take on.

Definition at line 52 of file SurplusShare.cs.

override double AnalyzeRe.Layers.SurplusShare.participation
getset

The calculated participation based on the sum insured. This inherited property has had its setter overridden to throw an exception. This property merely returns the computed_participation

Exceptions
NotSupportedExceptionSurplusShare participation is automatically determined via the sums_insured, retained_line, and number_of_lines properties, and cannot be set directly (even though the base layer interface gives all layers a settable participation).

Definition at line 100 of file SurplusShare.cs.

Policy AnalyzeRe.Layers.Layer_WithLossSets.policy
getsetinherited

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

Definition at line 20 of file Layer_WithLossSets.cs.

MonetaryUnit AnalyzeRe.Layers.Layer_WithTerms.premium
getsetinherited

The premium expected to be written by this layer excluding reinstatement premiums.

Definition at line 44 of file Layer_WithTerms.cs.

MonetaryUnit AnalyzeRe.Layers.SurplusShare.retained_line
getset

The amount (of the sums_insured) that the primary or cedant will retain on a pro-rated basis. (e.g. a full loss will result in the retained line being the cedant's loss).

Definition at line 46 of file SurplusShare.cs.

MonetaryUnit AnalyzeRe.Layers.SurplusShare.sums_insured
getset

The maximum amount to be covered by the Surplus Share per event occurrence.

Definition at line 37 of file SurplusShare.cs.


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