source: Dev/trunk/src/client/dojox/lang/aspect/memoizerGuard.js @ 529

Last change on this file since 529 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 910 bytes
Line 
1dojo.provide("dojox.lang.aspect.memoizerGuard");
2
3(function(){
4        var aop = dojox.lang.aspect,
5                reset = function(/*String|Array?*/ method){
6                        var that = aop.getContext().instance, t;
7                        if(!(t = that.__memoizerCache)){ return; }
8                        if(arguments.length == 0){
9                                delete that.__memoizerCache;
10                        }else if(dojo.isArray(method)){
11                                dojo.forEach(method, function(m){ delete t[m]; });
12                        }else{
13                                delete t[method];
14                        }
15                };
16
17
18        aop.memoizerGuard = function(/*String|Array?*/ method){
19                // summary:
20                //              Invalidates the memoizer's cache (see dojox.lang.aspect.memoizer)
21                //              after calling certain methods.
22                //
23                // method:
24                //              Optional method's name to be guarded: only cache for
25                //              this method will be invalidated on call. Can be a string
26                //              or an array of method names. If omitted the whole cache
27                //              will be invalidated.
28
29                return {        // Object
30                        after: function(){ reset(method); }
31                };
32        };
33})();
Note: See TracBrowser for help on using the repository browser.