BaseBuild.js revision 793e508bd277c48d6a09b91bb99064b4046eda7a
10139N/A * The base-build submodule provides Base.build functionality, which 10139N/A * can be used to create custom classes, by aggregating extensions onto 10139N/A * The build configuration for the Base class. 10139N/A * Defines the static fields which need to be aggregated 10139N/A * when the Base class is used as the main class passed to 10139N/A * the <a href="#method_Base.build">Base.build</a> method. 10139N/A * Builds a custom constructor function (class) from the 10139N/A * main function, and array of extension functions (classes) 10139N/A * provided. The NAME field for the constructor function is 10139N/A * defined by the first argument passed in. 10139N/A * The cfg object literal supports the following properties 10139N/A * <dt>dynamic <boolean></dt> 10139N/A * <p>If true (default), a completely new class 10139N/A * is created which extends the main class, and acts as the 10139N/A * host on which the extension classes are augmented.</p> 10139N/A * <p>If false, the extensions classes are augmented directly to 10139N/A * the main class, modifying the main class' prototype.</p> 10139N/A * <dt>aggregates <String[]></dt> 10139N/A * <dd>An array of static property names, which will get aggregated 10139N/A * on to the built class, in addition to the default properties build 10139N/A * will always aggregate as defined by the main class' static _buildCfg 10139N/A * @param {Function} main The name of the new class. Used to defined the NAME property for the new class. 10139N/A * @param {Function} main The main class on which to base the built class 10139N/A * @param {Function[]} extensions The set of extension classes which will be 10139N/A * @param {Object} cfg Optional. Build configuration for the class (see description). 10139N/A * @return {Function} A custom class, created from the provided main and extension classes