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

A structure that can be used to change the currency of a loss stream from one currency to another at a fixed rate. Loss sets can be converted from one currency to another directly using this structure. Other layers whose losses are output in a currency that needs to be converted at a fixed rate can also be converted by using this structure as the sink of a NestedLayer. This is a unique structure that cannot be saved to the layers endpoint, it can only be inlined within a LayerView. 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 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

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...
 
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...
 
string in_currency [get, set]
 The currency this converter will convert from. Warning: All input Layer_WithLossSets.loss_sets that are not already in in_currency will be converted to in_currency before they are processed (using the default AnalysisProfile.exchange_rate_profile rules). To avoid unintended consequences, you should only attach loss sets to this converter that are already in in_currency. 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...
 
string out_currency [get, set]
 The currency this converter will convert to at a fixed rate. More...
 
double rate [get, set]
 The fixed rate to use in converting losses from in_currency to out_currency. All input losses will be multiplied by this rate, and then have their currency set to out_currency. More...
 

Detailed Description

A structure that can be used to change the currency of a loss stream from one currency to another at a fixed rate. Loss sets can be converted from one currency to another directly using this structure. Other layers whose losses are output in a currency that needs to be converted at a fixed rate can also be converted by using this structure as the sink of a NestedLayer. This is a unique structure that cannot be saved to the layers endpoint, it can only be inlined within a LayerView.

Definition at line 15 of file FixedRateCurrencyConverter.cs.

Inheritance diagram for AnalyzeRe.Layers.FixedRateCurrencyConverter:
AnalyzeRe.Layers.Layer_WithLossSets AnalyzeRe.Layer AnalyzeRe.Layers.ILayer_WithLossSets AnalyzeRe.APITypes.StoredAPIResource_Polymorphic AnalyzeRe.ILayer AnalyzeRe.ILayer AnalyzeRe.APITypes.StoredAPIResource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.APITypes.IAPI_Polymorphic AnalyzeRe.APIResource AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.IAPIResource AnalyzeRe.IAPIResource AnalyzeRe.APIType AnalyzeRe.IAPIResource AnalyzeRe.IAPIResource AnalyzeRe.IAPIType AnalyzeRe.IAPIType AnalyzeRe.IAPIType AnalyzeRe.IAPIType AnalyzeRe.IAPIType

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 16 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 16 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 19 of file Layer.cs.

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

The server name for this type of resource.

Definition at line 12 of file StoredAPIResource_Polymorphic.cs.

Property Documentation

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.

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.

string AnalyzeRe.Layers.FixedRateCurrencyConverter.in_currency
getset

The currency this converter will convert from. Warning: All input Layer_WithLossSets.loss_sets that are not already in in_currency will be converted to in_currency before they are processed (using the default AnalysisProfile.exchange_rate_profile rules). To avoid unintended consequences, you should only attach loss sets to this converter that are already in in_currency.

Definition at line 28 of file FixedRateCurrencyConverter.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.

string AnalyzeRe.Layers.FixedRateCurrencyConverter.out_currency
getset

The currency this converter will convert to at a fixed rate.

Definition at line 34 of file FixedRateCurrencyConverter.cs.

double AnalyzeRe.Layers.FixedRateCurrencyConverter.rate
getset

The fixed rate to use in converting losses from in_currency to out_currency. All input losses will be multiplied by this rate, and then have their currency set to out_currency.

Definition at line 40 of file FixedRateCurrencyConverter.cs.


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