Blame | Last modification | View Log | RSS feed
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');}}});}