Final Class: DeferredDataProvider

Oracle® JavaScript Extension Toolkit (JET)
8.0.0

F18189-01

Signature:

final class DeferredDataProvider<K, D> implements DataProvider<K, D>

QuickNav


DeferredDataProvider

Version:
  • 8.0.0
Since:
  • 4.2.0
Module:
  • ojdeferreddataprovider

Module usage

See JET Module Loading for an overview of module usage within JET.

Javascript Import Format
define(['ojs/ojdeferreddataprovider'], function(DeferredDataProvider) {
 // Application should call API on DeferredDataProvider 
})
Typescript Import Format
//This class is exported directly as module. To import it
import DeferredDataProvider= require("ojs/ojdeferreddataprovider");

Generic Parameters
ParameterDescription
KType of Key
DType of Data

JET In Typescript

A detailed description of working with JET elements and classes in your typescript project can be found at: JET Typescript Usage.

Final classes in JET

Classes in JET are generally final and do not support subclassing. At the moment, final is not enforced. However, this will likely change in an upcoming JET release.

Description

This class implements oj.DataProvider. This object represents a data provider that is created with deferred data and can be used by any component that requires a data provider that will be created with data from a Promise.

Constructor

new DeferredDataProvider(dataProvider, capabilityFunc)

Parameters:
Name Type Description
dataProvider Promise.<oj.DataProvider.<K, D>> A promise that resolves to an oj.DataProvider
capabilityFunc (capabilityName: string)=> any An function that implements oj.DataProvider#getCapability.

Methods

addEventListener(eventType, listener)

Parameters:
Name Type Description
eventType string The event type to add listener to.
listener EventListener The event listener to add.

containsKeys(params: FetchByKeysParameters<K>): Promise<ContainsKeysResults<K>>

Check if there are rows containing the specified keys
Parameters:
Name Type Description
params oj.FetchByKeysParameters Fetch by keys parameters
Returns:
Promise which resolves to oj.ContainsKeysResults
Type
Promise.<oj.ContainsKeysResults>

dispatchEvent(evt) : {boolean}

Parameters:
Name Type Description
evt Event The event to dispatch.
Returns:
false if the deferred data provider has not resolved or the event has been cancelled, and true otherwise.
Type
boolean

fetchByKeys(params: FetchByKeysParameters<K>): Promise<FetchByKeysResults<K, D>>

Fetch rows by keys
Parameters:
Name Type Description
params oj.FetchByKeysParameters Fetch by keys parameters
Returns:
Promise which resolves to oj.FetchByKeysResults
Type
Promise.<oj.FetchByKeysResults>

fetchByOffset(params: FetchByOffsetParameters<D>): Promise<FetchByOffsetResults<K, D>>

Fetch rows by offset
Parameters:
Name Type Description
params oj.FetchByOffsetParameters Fetch by offset parameters
Returns:
Promise which resolves to oj.FetchByOffsetResults
Type
Promise.<oj.FetchByOffsetResults>

fetchFirst(params?: FetchListParameters<D>): AsyncIterable<FetchListResult<K, D>>

Fetch the first block of data.
Parameters:
Name Type Argument Description
params oj.FetchListParameters <optional>
Fetch parameters
See:
Returns:
AsyncIterable with oj.FetchListResult
Type
AsyncIterable.<oj.FetchListResult>

getCapability(capabilityName) : {any}

Determines whether this DataProvider supports certain feature.
Parameters:
Name Type Argument Description
capabilityName string <optional>
capability name. Supported capability names are: "fetchByKeys", "fetchByOffset", and "sort"
Returns:
capability information or null if unsupported
Type
any

getTotalSize() : {Promise.<number>}

Return the total number of rows in this dataprovider
Returns:
Returns a Promise which resolves to the total number of rows. -1 is unknown row count.
Type
Promise.<number>

isEmpty() : {"yes"|"no"|"unknown"}

Return a string that indicates if this data provider is empty
Returns:
a string that indicates if this data provider is empty. Valid values are: "yes": this data provider is empty. "no": this data provider is not empty. "unknown": it is not known if this data provider is empty until it has resolved, and a fetch is made.
Type
"yes" | "no" | "unknown"

removeEventListener(eventType, listener)

Parameters:
Name Type Description
eventType string The event type to remove listener from.
listener EventListener The event listener to remove.