Modifying XClass To Support Namespaces

Now that we have a way to represent hierarchical namespaces, we will modify XClass.declare to support namespaces. The declare method now accepts a fully qualified class name such as "animal.bird.Eagle", although the namespace is optional. Here are the modified lines of the declare method.

01: declare: function(fullClassName, superclass, properties) {
02: try {
03: // Find the namespace for the new class. 04: var names = fullClassName.split('.'); 05: var className = names.pop(); 06: var namespace = this.namespace(names);
07: ...
08: cproto.namespace = namespace;
09: ...
10: namespace[className] = newClass;
11: } 12: catch (err) { 13: var msg = "Declaration of class " + fullClassName + 14: " failed - " + err; 15: console.error(msg); 16: }
17: },

Next we will modify our previous example to use namespaces.