1 /** 2 * @author Gillis Haasnoot <gillis.haasnoot@gmail.com> 3 * @package Banana.Controls 4 * @summary Datagrid Filter Manager 5 */ 6 7 goog.provide('Banana.Util.NameSpace'); 8 9 10 /** 11 * Utility to use namespaces in functions 12 * 13 * example usage : namespace("com.MyPackage").myClass = function(){}; 14 * var myclass = new com.MyPackage.myClass(); 15 * 16 * @param {String} name 17 * @param {String} separator 18 * @param {String} container 19 * @return {String} 20 * @constructor 21 */ 22 var namespace = function(name, separator, container) 23 { 24 var ns = name.split(separator || '.'), o = container || window, i, len; 25 for (i = 0, len = ns.length; i < len; i++) { 26 o = o[ns[i]] = o[ns[i]] || {}; 27 } 28 return o; 29 };