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