Namespace: FetchByKeysMixin

Oracle® JavaScript Extension Toolkit (JET)
16.1.0

F92237-01

Since:
  • 4.2.0
Module:
  • ojdataprovider

QuickNav

Description

Mixin class to provide generic implementation of DataProvider#fetchByKeys and DataProvider#containsKeys methods for the DataProvider interface.

By default, the mixin implementation will iterate through all the rows to find the result. DataProvider implementations can implement a "getIterationLimit" function that returns a row limit for the iteration:
getIterationLimit() => number

This class cannot be instantiated. You can only call the static applyMixin method to add the implementation to another class.


Usage

Javascript Import Format
define(['ojs/ojdataprovider'], function(dataprovider) {
 // Application should call API on dataprovider.FetchByKeysMixin 
})
Typescript Import Format
//To import this namespace, use the format below.
import {FetchByKeysMixin} from "ojs/ojdataprovider";

For additional information visit:


Methods

(static) applyMixin(derivedCtor: {new(): DataProvider<any, any>}): any;

Apply this mixin to another class
Parameters:
Name Type Description
derivedCtor function the constructor of an existing class
Examples

Apply the mixin in Typescript:

class CustomDataProvider<K, D> implements DataProvider<K, D> {
  // Add stand-in properties to satisfy the compiler
  containsKeys: (parameters: FetchByKeysParameters<K>) => Promise<ContainsKeysResults<K>>;
  fetchByKeys: (parameters: FetchByKeysParameters<K>) => Promise<FetchByKeysResults<K, D>>;

  constructor() {
    // Constructor implementation
  }
}

FetchByKeysMixin.applyMixin(CustomDataProvider);

Apply the mixin in Javascript:

function CustomDataProvider() {
  // Constructor implementation
}

FetchByKeysMixin.applyMixin(CustomDataProvider);