[ascoders] Re: Namensräume
- From: "bokel" <actionscript@xxxxxxxxxxxx>
- To: <ascoders@xxxxxxxxxxxxx>
- Date: Mon, 31 Mar 2003 19:25:48 +0200
Die Diskussion um die Namensraeume war ja wohl echt
interessant. Wie ist denn da der Stand ? Habt ihr euch
auf eine alle zufriedenstellende Lösung geeinigt ?
mfg r.
----- Original Message -----
From: "Ralf Siegel" <ralf@xxxxxxxxxxx>
To: <ascoders@xxxxxxxxxxxxx>
Sent: Thursday, March 27, 2003 6:30 PM
Subject: [ascoders] Re: Namensräume
>
> >hab das jetzt mal zusammengebaut. Es wird jetzt doch NUR in den aktivierten
> >Namensräumen gesucht - denke, das ist näher am Java-Verhalten, wo ja auch
> >nur importierte Packages durchsucht werden.
>
> Yup, ich denke es wäre sogar intuitiver, das in einem Ruck zu machen, d.h.
> wenn der Pfad gebastelt wird, diesen gleich komplett in der Liste zu
> registrieren, e.g.
>
> ...
>
> if (o[name] == undefined) {
> o[name] = new Object();
> this.push(o[name]);
> ASSetPropFlags(o, name, 1, 0); // optional
> }
>
> ...
>
> Oder komplett dann:
>
> __________________________________________________________________
>
> /////////////////////////////////////////////////
> // ASNamespace Setup
> /////////////////////////////////////////////////
>
> _global.__resolve = function(c) {
> for (var i = 0; i < ASNamespace.length; i++) {
> if (typeof ASNamespace[i][c] == "function") {
> return ASNamespace[i][c];
> }
> }
> };
>
> // ----------------------------------------------
> _global.ASNamespace = new Array();
>
> ASNamespace.initializePackage = function(path) {
> // avoid calls when checking for object
> var r = _global.__resolve;
> delete _global.__resolve;
>
> var a = path.split('.');
> var o = _global;
> var currentPath = a[0];
> for (var i = 0; i < a.length; i++) {
> var name = a[i];
> if (o[name] == undefined) {
> o[name] = new Object();
> this.push(o[name]);
> ASSetPropFlags(o, name, 1, 0); // optional
> }
> o = o[name];
> }
> _global.__resolve = r;
> return o; // return shortcut
> };
>
> ASSetPropFlags(_global, "ASNamespace", 7, 0);
>
> /////////////////////////////////////////////////
> // Usage
> /////////////////////////////////////////////////
>
> var ns = ASNamespace.initializePackage("com.macromedia.secret");
>
> _global.com.macromedia.secret.BetaClass = function() {
> trace("com.macromedia.secret.BetaClass");
> };
>
> _global.com.macromedia.StandardClass = function() {
> trace("com.macromedia.StandardClass");
> };
>
> // ----------------------------------------------
>
> var ns = ASNamespace.initializePackage("de.ascoders.central");
>
> _global.de.ascoders.central.RIAManager = function() {
> trace("de.ascoders.central.RIAManager");
> };
> _global.de.ascoders.StandardClass = function(x) {
> trace("de.ascoders.StandardClass");
> };
>
> // ----------------------------------------------
>
> obj1 = new BetaClass();
> obj2 = new com.macromedia.BetaClass(); // not found
> obj3 = new StandardClass();
>
> obj4 = new de.ascoders.StandardClass();
> obj5 = new de.ascoders.central.RIAManager();
> obj6 = new RIAManager();
>
>
> ______________________________________________________________
>
> Ausgabe
> ______________________________________________________________
>
> /*
>
> com.macromedia.secret.BetaClass
> com.macromedia.StandardClass
> de.ascoders.StandardClass
> de.ascoders.central.RIAManager
> de.ascoders.central.RIAManager
>
> */
>
> ralf ...
>
>
> ------------------------------------------------------
> Archiv : http://www.freelists.org/archives/ascoders/
> Optionen : http://www.freelists.org/list/ascoders
> ------------------------------------------------------
>
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- References:
- [ascoders] Re: Namensräume
- From: Andreas Hucks
- [ascoders] Re: Namensräume
- From: Ralf Siegel
Other related posts:
- » [ascoders] Namensräume
- » [ascoders] Re: Namensräume
- » [ascoders] Re: Namensräume
- » [ascoders] Re: Namensräume
- » [ascoders] Re: Namensräume
- » [ascoders] Re: Namensräume
- [ascoders] Re: Namensräume
- From: Andreas Hucks
- [ascoders] Re: Namensräume
- From: Ralf Siegel