needs MixinManager on JS side for Mustella/Marmotinni
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/d2b7d220 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/d2b7d220 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/d2b7d220 Branch: refs/heads/develop Commit: d2b7d22044568c07cc314836028ba309d598936f Parents: f398dca Author: Alex Harui <aha...@apache.org> Authored: Thu Mar 20 13:26:18 2014 -0700 Committer: Alex Harui <aha...@apache.org> Committed: Thu Mar 20 13:27:10 2014 -0700 ---------------------------------------------------------------------- .../src/org/apache/flex/utils/MixinManager.js | 63 ++++++++++++++++++++ 1 file changed, 63 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d2b7d220/frameworks/js/FlexJS/src/org/apache/flex/utils/MixinManager.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/utils/MixinManager.js b/frameworks/js/FlexJS/src/org/apache/flex/utils/MixinManager.js new file mode 100644 index 0000000..60d3959 --- /dev/null +++ b/frameworks/js/FlexJS/src/org/apache/flex/utils/MixinManager.js @@ -0,0 +1,63 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('org.apache.flex.utils.MixinManager'); + + + +/** + * @constructor + * @implements {org.apache.flex.core.IBead} + * Initialize mixins. + * Compiler may not be generating list of mixins right now. + */ +org.apache.flex.utils.MixinManager = function() { +}; + + +/** + * Metadata + * + * @type {Object.<string, Array.<Object>>} + */ +org.apache.flex.utils.MixinManager.prototype.FLEXJS_CLASS_INFO = + { names: [{ name: 'MixinManager', + qName: 'org.apache.flex.utils.MixinManager'}], + interfaces: [org.apache.flex.core.IBead]}; + + +/** + * @expose + * @param {Object} value The new host. + */ +org.apache.flex.utils.MixinManager.prototype.set_strand = +function(value) { + this.strand_ = value; + + if (value) + { + if (typeof(value.info) == "function") + { + var mixins = value.info()['mixins']; + if (mixins) + { + var n = mixins.length; + for (var i = 0; i < n; i++) + { + mixins[i].init(value); + } + } + } + } +};