\r\n

51Degrees Geo-Location .NET  4.3

Geo-location services for 51Degrees Pipeline

FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine Class Reference

Detailed Description

Reverse geocoding engine that uses the 51Degrees cloud service.

Inheritance diagram for FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine:

[legend]

Collaboration diagram for FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine:

[legend]

Public Member Functions

 GeoLocationCloudEngine (ILogger< GeoLocationCloudEngine > logger, Func< IPipeline, FlowElementBase< IGeoData, IAspectPropertyMetaData >, IGeoData > aspectDataFactory, GeoLocationProvider provider)
Constructor More...

Public Attributes

override string  ElementDataKey => _elementDataKey
The key to use for storing this engine's data in a IFlowData instance. More...
override IEvidenceKeyFilter  EvidenceKeyFilter
The filter that defines the evidence that is used by this engine. More...

Protected Member Functions

override void  ProcessEngine (IFlowData data, IGeoData aspectData)
Perform the processing for this engine:

  1. Get the JSON data from the CloudRequestEngine response.
More...

Properties

string  DataProviderPrefix [get]
A string identifying the provider of the data that powers this engine. More...

Constructor & Destructor Documentation

◆ GeoLocationCloudEngine()

FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine.GeoLocationCloudEngine ( ILogger< GeoLocationCloudEngine >   logger,
Func< IPipeline, FlowElementBase< IGeoData, IAspectPropertyMetaData >, IGeoData >   aspectDataFactory,
GeoLocationProvider   provider  
)

Constructor

Parameters
logger - The logger used by this instance.
aspectDataFactory - A factory function that is used to create IGeoData instances.
provider - The GeoLocationProvider that will be used to power this engine.

Member Function Documentation

◆ ProcessEngine()

override void FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine.ProcessEngine ( IFlowData   data,
IGeoData   aspectData  
)
protected

Perform the processing for this engine:

  1. Get the JSON data from the CloudRequestEngine response.

Extract properties relevant to this engine. Deserialize JSON data to populate an IGeoData instance.

Parameters
data - The IFlowData instance containing data for the current request.
aspectData - The IGeoData instance to populate with values.
Exceptions
ArgumentNullException - Thrown if a required parameter is null
PipelineConfigurationException - Thrown if the current pipeline configuration does not allow this engine to perform processing.

Member Data Documentation

◆ ElementDataKey

override string FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine.ElementDataKey => _elementDataKey

The key to use for storing this engine's data in a IFlowData instance.

◆ EvidenceKeyFilter

override IEvidenceKeyFilter FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine.EvidenceKeyFilter
Initial value:
=>
new EvidenceKeyFilterWhitelist(new List<string>())

The filter that defines the evidence that is used by this engine.

This engine needs no evidence as it works from the response from the ICloudRequestEngine.

Property Documentation

◆ DataProviderPrefix

string FiftyOne.GeoLocation.Cloud.GeoLocationCloudEngine.DataProviderPrefix
get

A string identifying the provider of the data that powers this engine.