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

Layer Policy is the rule on RecordType that determines how occurrences belonging to a particular RecordType are treated by the layer. The user can use layer policy to control the individual record type’s behavior within a layer. More...

Public Member Functions

override bool Equals (object obj)
 Determine if this Policy is equivalent to another.
 
bool Equals (Policy other)
 Determine if this Policy is equivalent to another.
 
override int GetHashCode ()
 Get the HashCode for this Policy.
 
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

HashSet< RecordTypeforward_records = new HashSet<RecordType>() [get, set]
 When a record type is listed under forward, all input occurrences with the matching record type are not subjected to layer terms, and are instead simply forwarded through the layer without modification (participation, however, may be applied at the end).
 
HashSet< RecordTypetransform_records = new HashSet<RecordType>() [get, set]
 When a record type is listed under transform, all input occurrences with the matching record type are subjected to layer terms.
 

Detailed Description

Layer Policy is the rule on RecordType that determines how occurrences belonging to a particular RecordType are treated by the layer. The user can use layer policy to control the individual record type’s behavior within a layer.

If an input occurrence to a layer has a record type that does not match anything in transform_records or forward_records, the occurrence will be ignored by the layer and will not appear in any of that layers' results.

Each layer type has it's own default Policy that is only available through documentation. See https://docs.analyzere.net/#default-policy for details.

Definition at line 16 of file Policy.cs.

Inheritance diagram for AnalyzeRe.Layers.Policy:
AnalyzeRe.APIType AnalyzeRe.IAPIType

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.Layers.Policy.Equals ( object  obj)

Determine if this Policy is equivalent to another.

Parameters
objObject to compare to this.
Returns
True if the other object is a Policy and the policies are equal.

◆ Equals() [2/2]

bool AnalyzeRe.Layers.Policy.Equals ( Policy  other)

Determine if this Policy is equivalent to another.

Parameters
otherThe Policy to compare to this one.
Returns
True if the other Policy is not null and the transform and forward records contain the same record types in any order.

◆ GetHashCode()

override int AnalyzeRe.Layers.Policy.GetHashCode ( )
inline

Get the HashCode for this Policy.

Returns
A unique HashCode for this Policy

Definition at line 55 of file Policy.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

◆ forward_records

HashSet<RecordType> AnalyzeRe.Layers.Policy.forward_records = new HashSet<RecordType>()
getset

When a record type is listed under forward, all input occurrences with the matching record type are not subjected to layer terms, and are instead simply forwarded through the layer without modification (participation, however, may be applied at the end).

Definition at line 29 of file Policy.cs.

◆ transform_records

HashSet<RecordType> AnalyzeRe.Layers.Policy.transform_records = new HashSet<RecordType>()
getset

When a record type is listed under transform, all input occurrences with the matching record type are subjected to layer terms.

Definition at line 22 of file Policy.cs.


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