aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage/data/control-listener.js
blob: 4b242cbbb3d831f7a669a6826dd8ff984e80474e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* <copyright>
This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
(c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
</copyright> */
/**
	@module montage/data/control-listener
    @requires montage/core/core
    @requires montage/core/logger
*/
var Montage = require("montage").Montage;
var logger = require("core/logger").logger("controlListener");
/**
    @class module:montage/data/control-listener.ControlListener
    @extends module:montage/core/core.Montage
*/
var ControlListener = exports.ControlListener = Montage.create(Montage,/** @lends module:montage/data/control-listener.ControlListener# */ {
/**
    Description TODO
    @function
    @param {Property} delegate TODO
    @param {Property} key TODO
    @param {Property} identifier TODO
    @returns null
    */
    callbackForKey: {
        value: function(delegate, key, identifier) {
            if (typeof delegate !== "function") {
                return delegate;
            }
            if ((typeof delegate !== "object") || (typeof key !== "string")) {
                return null;
            }
            if (identifier) {
                var newKey = identifier + key.toCapitalized();
                if (typeof delegate[newKey] === "function") {
                    return delegate[newKey];
                }
            }
            if (typeof delegate[key] === "function") {
                return delegate[key];
            }
            return null;
        }
    }

});