[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [ivaapbackend](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend) / [RemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#remotedatasource) / RemoteDataSource

# Class: RemoteDataSource<T&gt;

[ivaapbackend](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend).[RemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#remotedatasource).RemoteDataSource

Provides implementation of data source for loading data from IVAAP backend that stores dataset identifier,
its content, and list of links after the loading completed.

## Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends `object` |


## Hierarchy

- [`AbstractRemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource)<`T`&gt;
↳ **`RemoteDataSource`**
↳↳ [`RemoteReservoirDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.reservoir.remotereservoirdatasource.remotereservoirdatasource)
↳↳ [`RemoteGridSurfaceDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.surface.remotegridsurfacedatasource.remotegridsurfacedatasource)


## Table of contents

Constructors
- [new RemoteDataSource<T&gt;(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource.md#new remotedatasource<t>(options))


Methods
| [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#dispose) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getclassname) | [getHostName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#gethostname) |
|  --- | --- | --- |
| [getHttpService](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#gethttpservice) | [getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getid) | [getLinks](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getlinks) |
| [getMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getmetadata) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getproperties) | [loadMeta](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#loadmeta) |
| [setHostName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#sethostname) | [setHttpService](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#sethttpservice) | [setId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#setid) |
| [setLinks](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#setlinks) | [setMetaData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#setmetadata) | [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#setproperties) |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource#getclassname-1) |


Css Properties
| Name  | Type  | Description |
|  --- | --- | --- |
| `hostname` | `string` | The host name for requests |


## Contents

Constructors
#### new RemoteDataSource&lt;T&amp;gt;(options)

• **new RemoteDataSource**<`T`&gt;(`options?`)

#### Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends `object` |


#### Parameters

| Name  | Type  |
|  --- | --- |
| `Optional` `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#abstractremotedatasource#options) |


#### Overrides

AbstractRemoteDataSource&lt;T&amp;gt;.constructor

Methods
#### dispose

▸ **dispose**(): `void`

Dispose

#### Returns

`void`

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#dispose)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#getclassname)

#### getHostName

▸ **getHostName**(): `string`

Gets host name

#### Returns

`string`

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[getHostName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#gethostname)

#### getHttpService

▸ **getHttpService**(): [`AbstractHttpService`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.http.abstracthttpservice.abstracthttpservice)

Gets a http service associated with this data source

#### Returns

[`AbstractHttpService`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.http.abstracthttpservice.abstracthttpservice)

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[getHttpService](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#gethttpservice)

#### getId

▸ **getId**(): `string`

Gets data identifier

#### Returns

`string`

#### getLinks

▸ **getLinks**(): [`Link`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#commonremotedatasource#link)[]

Gets links

#### Returns

[`Link`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#commonremotedatasource#link)[]

#### getMetaData

▸ **getMetaData**(): `T`

Returns meta information from IVAAP backend

#### Returns

`T`

meta meta data

#### getProperties

▸ **getProperties**(): [`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#abstractremotedatasource#optionsout)

Gets all the properties pertaining to this object

#### Returns

[`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#abstractremotedatasource#optionsout)

An object containing the properties

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#getproperties)

#### loadMeta

▸ **loadMeta**(`url`, `onProgress?`, `cancel?`): `Promise`<`T`&gt;

Load meta data

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `url` | `string` | url of metaData information |
| `Optional` `onProgress` | (`event`: `ProgressEvent`<`EventTarget`&gt;) => `void` | a function to be executed to handle progress |
| `Optional` `cancel` | [`Cancel`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.cancel.cancel) | a Cancel object that can be used to cancel the loading |


#### Returns

`Promise`<`T`&gt;

The promise for the MetaData

#### Overrides

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[loadMeta](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#loadmeta)

#### setHostName

▸ `Protected` **setHostName**(`host`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets host name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `host` | `string` | the host name |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[setHostName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#sethostname)

#### setHttpService

▸ `Protected` **setHttpService**(`service`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets a http service associated with this data source

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `service` | [`AbstractHttpService`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.http.abstracthttpservice.abstracthttpservice) | the http service |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[setHttpService](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#sethttpservice)

#### setId

▸ `Protected` **setId**(`id`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets data identifier

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `id` | `string` | the identifier |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

#### setLinks

▸ `Protected` **setLinks**(`links`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets links

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `links` | [`Link`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#commonremotedatasource#link)[] | the links |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

#### setMetaData

▸ `Protected` **setMetaData**(`meta`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets meta information

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `meta` | `T` | the meta information |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

#### setProperties

▸ **setProperties**(`properties?`): [`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

Sets all the properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `properties` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.ivaapbackend#abstractremotedatasource#options) | An object containing the properties to set |


#### Returns

[`RemoteDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.remotedatasource.remotedatasource)<`T`&gt;

this

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#setproperties)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractRemoteDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.ivaapbackend.abstractremotedatasource.abstractremotedatasource#getclassname-1)