C# Client Library
A C# Client Library for the AnalyzeRe REST API
Loading...
Searching...
No Matches
AnalyzeRe.Optimization.Function Class Referenceabstract

The base class for custom optimization functions. 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.

 

Protected Member Functions

 Function ()
 Construct a new ProjectionFunction.
 
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

Dictionary< string, objectarguments_schema [get, set]
 The JSON Schema to validate usage against.
 
string collection_name [get]
 The relative path from the root of the API at which the collection of resources of this type reside.
 
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 function [get, set]
 Reserved for internal use - used to seed the database with the built-in functions that are available.
 
string id [get, set]
 The resource's unique identifier. It will be used in the request URL when requesting the resource from the server.
 
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 name [get, set]
 A unique identifier for this projection function assigned by the user. Cannot match the name of any other projection functions on the server.
 
string Path [get]
 The relative path to this endpoint from the root URL.
 
string src [get, set]
 The source code for the function body.
 

Detailed Description

The base class for custom optimization functions.

Definition at line 33 of file OptimizationFunctions.cs.

Inheritance diagram for AnalyzeRe.Optimization.Function:
AnalyzeRe.APITypes.StoredAPIResource AnalyzeRe.APIResource AnalyzeRe.APITypes.IStoredAPIResource AnalyzeRe.APIType AnalyzeRe.IAPIResource AnalyzeRe.IAPIResource AnalyzeRe.IAPIType AnalyzeRe.IAPIType AnalyzeRe.APITypes.IEndpoint AnalyzeRe.IAPIType AnalyzeRe.APITypes.IEndpoint AnalyzeRe.Optimization.MetricsFunction AnalyzeRe.Optimization.ProjectionFunction

Constructor & Destructor Documentation

◆ Function()

AnalyzeRe.Optimization.Function.Function ( )
inlineprotected

Construct a new ProjectionFunction.

Definition at line 61 of file OptimizationFunctions.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.

◆ 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

◆ arguments_schema

Dictionary<string, object> AnalyzeRe.Optimization.Function.arguments_schema
getset

The JSON Schema to validate usage against.

Definition at line 58 of file OptimizationFunctions.cs.

◆ collection_name

string AnalyzeRe.APIResource.collection_name
getabstractinherited

The relative path from the root of the API at which the collection of resources of this type reside.

Implements AnalyzeRe.IAPIResource.

Definition at line 21 of file APIResource.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.

◆ function

string AnalyzeRe.Optimization.Function.function
getset

Reserved for internal use - used to seed the database with the built-in functions that are available.

Definition at line 52 of file OptimizationFunctions.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.

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

◆ name

string AnalyzeRe.Optimization.Function.name
getset

A unique identifier for this projection function assigned by the user. Cannot match the name of any other projection functions on the server.

Definition at line 39 of file OptimizationFunctions.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.

◆ src

string AnalyzeRe.Optimization.Function.src
getset

The source code for the function body.

All functions will have access to the arguments, member, and layers as well as the ones defined in the arguments section.

Definition at line 46 of file OptimizationFunctions.cs.


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