123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- if (!dojo._hasResource["dojo.data.api.Identity"]) { // _hasResource checks added
- // by build. Do not use
- // _hasResource directly in
- // your code.
- dojo._hasResource["dojo.data.api.Identity"] = true;
- dojo.provide("dojo.data.api.Identity");
- dojo.require("dojo.data.api.Read");
- dojo.declare("dojo.data.api.Identity", dojo.data.api.Read, {
- // summary:
- // This is an abstract API that data provider implementations conform
- // to.
- // This file defines methods signatures and intentionally leaves all the
- // methods unimplemented.
- getFeatures : function() {
- // summary:
- // See dojo.data.api.Read.getFeatures()
- return {
- 'dojo.data.api.Read' : true,
- 'dojo.data.api.Identity' : true
- };
- },
- getIdentity : function(/* item */item) {
- // summary:
- // Returns a unique identifier for an item. The return value will be
- // either a string or something that has a toString() method (such
- // as,
- // for example, a dojox.uuid.Uuid object).
- // item:
- // The item from the store from which to obtain its identifier.
- // exceptions:
- // Conforming implementations may throw an exception or return null
- // if
- // item is not an item.
- // example:
- // | var itemId = store.getIdentity(kermit);
- // | assert(kermit ===
- // store.findByIdentity(store.getIdentity(kermit)));
- throw new Error('Unimplemented API: dojo.data.api.Identity.getIdentity');
- var itemIdentityString = null;
- return itemIdentityString; // string
- },
- getIdentityAttributes : function(/* item */item) {
- // summary:
- // Returns an array of attribute names that are used to generate the
- // identity.
- // For most stores, this is a single attribute, but for some complex
- // stores
- // such as RDB backed stores that use compound (multi-attribute)
- // identifiers
- // it can be more than one. If the identity is not composed of
- // attributes
- // on the item, it will return null. This function is intended to
- // identify
- // the attributes that comprise the identity so that so that during
- // a render
- // of all attributes, the UI can hide the the identity information
- // if it
- // chooses.
- // item:
- // The item from the store from which to obtain the array of public
- // attributes that
- // compose the identifier, if any.
- // example:
- // | var itemId = store.getIdentity(kermit);
- // | var identifiers = store.getIdentityAttributes(itemId);
- // | assert(typeof identifiers === "array" || identifiers === null);
- throw new Error('Unimplemented API: dojo.data.api.Identity.getIdentityAttributes');
- return null; // string
- },
- fetchItemByIdentity : function(/* object */keywordArgs) {
- // summary:
- // Given the identity of an item, this method returns the item that
- // has
- // that identity through the onItem callback. Conforming
- // implementations
- // should return null if there is no item with the given identity.
- // Implementations of fetchItemByIdentity() may sometimes return an
- // item
- // from a local cache and may sometimes fetch an item from a remote
- // server,
- //
- // keywordArgs:
- // An anonymous object that defines the item to locate and callbacks
- // to invoke when the
- // item has been located and load has completed. The format of the
- // object is as follows:
- // {
- // identity: string|object,
- // onItem: Function,
- // onError: Function,
- // scope: object
- // }
- // The *identity* parameter.
- // The identity parameter is the identity of the item you wish to
- // locate and load
- // This attribute is required. It should be a string or an object
- // that toString()
- // can be called on.
- //
- // The *onItem* parameter.
- // Function(item)
- // The onItem parameter is the callback to invoke when the item has
- // been loaded. It takes only one
- // parameter, the item located, or null if none found.
- //
- // The *onError* parameter.
- // Function(error)
- // The onError parameter is the callback to invoke when the item
- // load encountered an error. It takes only one
- // parameter, the error object
- //
- // The *scope* parameter.
- // If a scope object is provided, all of the callback functions
- // (onItem,
- // onError, etc) will be invoked in the context of the scope object.
- // In the body of the callback function, the value of the "this"
- // keyword will be the scope object. If no scope object is provided,
- // the callback functions will be called in the context of
- // dojo.global.
- // For example, onItem.call(scope, item, request) vs.
- // onItem.call(dojo.global, item, request)
- if (!this.isItemLoaded(keywordArgs.item)) {
- throw new Error('Unimplemented API: dojo.data.api.Identity.fetchItemByIdentity');
- }
- }
- });
- }
|