@qooxdoo/framework
Version:
The JS Framework for Coders
64 lines (50 loc) • 1.7 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2010 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Christian Hagendorn (chris_schmidt)
* Martin Wittemann (martinwittemann)
************************************************************************ */
/**
* Methods to work with the delegate pattern.
*/
qx.Class.define("qx.util.Delegate",
{
statics :
{
/**
* Returns the delegate method given my its name.
*
* @param delegate {Object} The delegate object to check the method.
* @param specificMethod {String} The name of the delegate method.
* @return {Function|null} The requested method or null, if no method is set.
*/
getMethod : function(delegate, specificMethod)
{
if (qx.util.Delegate.containsMethod(delegate, specificMethod)) {
return qx.lang.Function.bind(delegate[specificMethod], delegate);
}
return null;
},
/**
* Checks, if the given delegate is valid or if a specific method is given.
*
* @param delegate {Object} The delegate object.
* @param specificMethod {String} The name of the method to search for.
* @return {Boolean} True, if everything was ok.
*/
containsMethod : function (delegate, specificMethod)
{
var Type = qx.lang.Type;
if (Type.isObject(delegate)) {
return Type.isFunction(delegate[specificMethod]);
}
return false;
}
}
});