rem: }; }; 
add: } } 
context: qx.OO.addPropertyGroup = function(p){  /* --------------------------------------------------------------------------------      PRE-CHECKS  -------------------------------------------------------------------------------- */  if(typeof p !== qx.constant.Type.OBJECT) {    throw new Error("Param should be an object!");  };  if (qx.util.Validation.isInvalid(p.name)) {    throw new Error("Malformed input parameters: name needed!");  };  if (qx.util.Validation.isInvalid(p.members)) {    throw new Error("Malformed input parameters: members needed!");  };  p.method = qx.lang.String.toFirstUp(p.name);  /* --------------------------------------------------------------------------------      CACHING  -------------------------------------------------------------------------------- */  p.getter = [];  p.setter = [];  for (var i=0, l=p.members.length; i<l; i++) {    p.setter.push(qx.OO.C_SET + qx.lang.String.toFirstUp(p.members[i]));  };  for (var i=0, l=p.members.length; i<l; i++) {    p.getter.push(qx.OO.C_GET + qx.lang.String.toFirstUp(p.members[i]));  };  /* --------------------------------------------------------------------------------      GETTER  -------------------------------------------------------------------------------- */  qx.Proto[qx.OO.C_GET + p.method] = function()  {    var a = [];    var g = p.getter;    for (var i=0, l=g.length; i<l; i++) {      a.push(this[g[i]]());    };    return a;  };  /* --------------------------------------------------------------------------------      SETTER  -------------------------------------------------------------------------------- */  switch(p.mode)  {    case "shorthand":      qx.Proto[qx.OO.C_SET + p.method] = function()      {        if (arguments.length > 4 || arguments.length == 0) {          throw new Error("Invalid number of arguments for property " + p.name + ": " + arguments);        };        try        {          var ret = qx.lang.Array.fromShortHand(arguments);        }        catch(ex)        {          throw new Error("Invalid shorthand values for property " + p.name + ": " + arguments + ": " + ex);        };        var s = p.setter;        var l = s.length;        for (var i=0; i<l; i++) {          this[s[i]](ret[i]);        };      };      break;    default:      qx.Proto[qx.OO.C_SET + p.method] = function()      {        var s = p.setter;        var l = s.length;        if (arguments.length != l) {          throw new Error("Invalid number of arguments (needs: " + l + ", is: " + arguments.length + ") for property " + p.name + ": " + qx.lang.Array.fromArguments(arguments).toString());        };        for (var i=0; i<l; i++) {          this[s[i]](arguments[i]);        };      };  };};
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/5b1a09c4ca80efdfbd41063412dd526cf7e711df/OO.js/clean/qooxdoo/source/script/qx/OO.js