Oddity
Oddity.Builders.BuilderBase< TReturn > Class Template Referenceabstract

Represents an abstract base class for all builders. More...

Inheritance diagram for Oddity.Builders.BuilderBase< TReturn >:
Oddity.Builders.SimpleBuilder< TReturn >

Public Member Functions

abstract TReturn Execute ()
 Performs an synchronous request to the API and returns deserialized JSON. More...
 
abstract bool Execute (TReturn model)
 Performs an synchronous request to the API and fills passed model in parameter with deserialized JSON. More...
 
abstract Task< TReturn > ExecuteAsync ()
 Performs an asynchronous request to the API and returns deserialized JSON. More...
 
abstract Task< bool > ExecuteAsync (TReturn model)
 Performs an asynchronous request to the API and fills passed model in parameter with deserialized JSON. More...
 

Protected Member Functions

 BuilderBase (OddityCore context)
 
async Task< string > GetResponseFromEndpoint (string link, string postBody=null)
 
string SerializeJson (object model)
 
TReturn DeserializeJson (string content)
 
void DeserializeJson (string content, TReturn model)
 

Protected Attributes

readonly OddityCore Context
 

Detailed Description

Represents an abstract base class for all builders.

Template Parameters
TReturnType which will be returned after successful API request.

Constructor & Destructor Documentation

Oddity.Builders.BuilderBase< TReturn >.BuilderBase ( OddityCore  context)
protected

Member Function Documentation

TReturn Oddity.Builders.BuilderBase< TReturn >.DeserializeJson ( string  content)
protected
void Oddity.Builders.BuilderBase< TReturn >.DeserializeJson ( string  content,
TReturn  model 
)
protected
abstract TReturn Oddity.Builders.BuilderBase< TReturn >.Execute ( )
pure virtual

Performs an synchronous request to the API and returns deserialized JSON.

Returns
The deserialized object retrieved from the API or null for non existing ID.
Exceptions
ApiUnavailableExceptionThrown when SpaceX API is unavailable and can't process any request.
ApiBadRequestExceptionThrown when SpaceX API received an invalid request which cannot be processed.

Implemented in Oddity.Builders.SimpleBuilder< TReturn >.

abstract bool Oddity.Builders.BuilderBase< TReturn >.Execute ( TReturn  model)
pure virtual

Performs an synchronous request to the API and fills passed model in parameter with deserialized JSON.

Parameters
modelThe model which will be filled with deserialized JSON.
Returns
The flag indicating if the API request and model fill has been done with success or not.
Exceptions
ApiUnavailableExceptionThrown when SpaceX API is unavailable and can't process any request.
ApiBadRequestExceptionThrown when SpaceX API received an invalid request which cannot be processed.

Implemented in Oddity.Builders.SimpleBuilder< TReturn >.

abstract Task<TReturn> Oddity.Builders.BuilderBase< TReturn >.ExecuteAsync ( )
pure virtual

Performs an asynchronous request to the API and returns deserialized JSON.

Returns
The deserialized object retrieved from the API or null for non existing ID.
Exceptions
ApiUnavailableExceptionThrown when SpaceX API is unavailable and can't process any request.
ApiBadRequestExceptionThrown when SpaceX API received an invalid request which cannot be processed.

Implemented in Oddity.Builders.SimpleBuilder< TReturn >.

abstract Task<bool> Oddity.Builders.BuilderBase< TReturn >.ExecuteAsync ( TReturn  model)
pure virtual

Performs an asynchronous request to the API and fills passed model in parameter with deserialized JSON.

Parameters
modelThe model which will be filled with deserialized JSON.
Returns
The flag indicating if the API request and model fill has been done with success or not.
Exceptions
ApiUnavailableExceptionThrown when SpaceX API is unavailable and can't process any request.
ApiBadRequestExceptionThrown when SpaceX API received an invalid request which cannot be processed.

Implemented in Oddity.Builders.SimpleBuilder< TReturn >.

async Task<string> Oddity.Builders.BuilderBase< TReturn >.GetResponseFromEndpoint ( string  link,
string  postBody = null 
)
protected
string Oddity.Builders.BuilderBase< TReturn >.SerializeJson ( object  model)
protected

Member Data Documentation

readonly OddityCore Oddity.Builders.BuilderBase< TReturn >.Context
protected

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