Here's a better version, show the chaining of dependencies.
#!/usr/bin/rhino
var Registry = { factories : {}, instances : {}, register: function(name,factory){ this.factories[name] = factory; this.__defineGetter__(name, function() { if (!this.instances[name]){ this.instances[name] = this.factories[name](); } return this.instances[name]; }); } } Registry.register("teststring",function(){ return "Injected"; }); Registry.register("testobj",function(){ var that = {}; that.string = Registry.teststring; that.execute = function(){ print(that.string); } return that; }); Registry.testobj.execute();
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel