/* Copyright (c) 2009, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 3.0.0 build: 1549 */ YUI.add('datasource-cache', function(Y) { /** * Extends DataSource with caching functionality. * * @module datasource * @submodule datasource-cache */ /** * Adds cacheability to the DataSource Utility. * @class DataSourceCache * @extends Cache */ var DataSourceCache = function() { DataSourceCache.superclass.constructor.apply(this, arguments); }; Y.mix(DataSourceCache, { /** * The namespace for the plugin. This will be the property on the host which * references the plugin instance. * * @property NS * @type String * @static * @final * @value "cache" */ NS: "cache", /** * Class name. * * @property NAME * @type String * @static * @final * @value "dataSourceCache" */ NAME: "dataSourceCache", ///////////////////////////////////////////////////////////////////////////// // // DataSourceCache Attributes // ///////////////////////////////////////////////////////////////////////////// ATTRS: { } }); Y.extend(DataSourceCache, Y.Cache, { /** * Internal init() handler. * * @method initializer * @param config {Object} Config object. * @private */ initializer: function(config) { this.doBefore("_defRequestFn", this._beforeDefRequestFn); this.doBefore("_defResponseFn", this._beforeDefResponseFn); }, /** * First look for cached response, then send request to live data. * * @method _beforeDefRequestFn * @param e {Event.Facade} Event Facade with the following properties: *