| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
|
|
| if (window["Clazz"] == null || window["Clazz"].unloadClass == null) {
|
| |
| |
| |
| |
| |
| |
|
|
|
|
| |
| |
| |
|
|
|
|
|
|
| Clazz.MethodNotFoundException = function (obj, clazz, method, params) {
|
| var paramStr = "";
|
| if (params != null) {
|
| paramStr = params.substring (1).replace (/\\/g, ",");
|
| }
|
| var leadingStr = "";
|
| if (method != null && method != "construct") {
|
| leadingStr = "Method";
|
| } else {
|
| leadingStr = "Constructor";
|
| }
|
| this.message = leadingStr + " " + Clazz.getClassName (clazz, true) + "."
|
| + method + "(" + paramStr + ") is not found!";
|
| this.toString = function () {
|
| return "MethodNotFoundException:" + this.message;
|
| }
|
| };
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.prepareCallback = function (objThis, args) {
|
| var classThisObj = args[0];
|
| var cbName = "b$";
|
| if (objThis != null && classThisObj != null && classThisObj !== window) {
|
| var obs = new Array ();
|
| if (objThis[cbName] == null) {
|
| objThis[cbName] = obs;
|
| } else {
|
| for (var s in objThis[cbName]) {
|
| if (s != "length") {
|
| obs[s] = objThis[cbName][s];
|
| }
|
| }
|
| objThis[cbName] = obs;
|
| }
|
| var className = Clazz.getClassName (classThisObj, true);
|
|
|
|
|
| |
| |
|
|
| obs[className.replace (/org\.eclipse\.swt\./, "$wt.")] = classThisObj;
|
| var clazz = Clazz.getClass (classThisObj);
|
| while (clazz.superClazz != null) {
|
| clazz = clazz.superClazz;
|
|
|
| |
| |
|
|
| obs[Clazz.getClassName (clazz, true)
|
| .replace (/org\.eclipse\.swt\./, "$wt.")] = classThisObj;
|
| }
|
|
|
| var cbs = classThisObj[cbName];
|
| if (cbs != null && cbs instanceof Array) {
|
| for (var s in cbs) {
|
| if (s != "length") {
|
| obs[s] = cbs[s];
|
| }
|
| }
|
| }
|
| }
|
|
|
| for (var i = 0; i < args.length - 1; i++) {
|
| args[i] = args[i + 1];
|
| }
|
| args.length--;
|
|
|
| };
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.innerTypeInstance = function (clazzInner, objThis, finalVars) {
|
| if (clazzInner == null) {
|
| clazzInner = arguments.callee.caller;
|
| }
|
| var obj = null;
|
| |
| |
| if (arguments.length == 3) {
|
| obj = new clazzInner (objThis);
|
| } else if (arguments.length == 4) {
|
| if (objThis.__CLASS_NAME__ == clazzInner.__CLASS_NAME__
|
| && arguments[3] === Clazz.inheritArgs) {
|
| obj = objThis;
|
| } else {
|
| obj = new clazzInner (objThis, arguments[3]);
|
| }
|
| } else if (arguments.length == 5) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4]);
|
| } else if (arguments.length == 6) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4],
|
| arguments[5]);
|
| } else if (arguments.length == 7) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4],
|
| arguments[5], arguments[6]);
|
| } else if (arguments.length == 8) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4],
|
| arguments[5], arguments[6], arguments[7]);
|
| } else if (arguments.length == 9) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4],
|
| arguments[5], arguments[6], arguments[7], arguments[8]);
|
| } else if (arguments.length == 10) {
|
| obj = new clazzInner (objThis, arguments[3], arguments[4],
|
| arguments[5], arguments[6], arguments[7], arguments[8],
|
| arguments[9]);
|
| } else {
|
| |
| |
|
|
| obj = new clazzInner ();
|
| if (obj.construct == null) {
|
| throw new String ("No support anonymous class constructor with "
|
| + "more than 7 parameters.");
|
| }
|
| var args = new Array ();
|
| for (var i = 3; i < arguments.length; i++) {
|
| args[i - 3] = arguments[i];
|
| }
|
| obj.construct.apply (obj, args);
|
| }
|
|
|
| if (finalVars != null && objThis.f$ == null) {
|
| obj.f$ = finalVars;
|
| } else if (finalVars == null && objThis.f$ != null) {
|
| obj.f$ = objThis.f$;
|
| } else if (finalVars != null && objThis.f$ != null) {
|
| var o = new Object ();
|
| for (var attr in objThis.f$) {
|
| o[attr] = objThis.f$[attr];
|
| }
|
| for (var attr in finalVars) {
|
| o[attr] = finalVars[attr];
|
| }
|
| obj.f$ = o;
|
| }
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| return obj;
|
| };
|
|
|
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.cloneFinals = function () {
|
| var o = new Object ();
|
| var length = arguments.length / 2;
|
| for (var i = 0; i < length; i++) {
|
| o[arguments[i + i]] = arguments[i + i + 1];
|
| }
|
| return o;
|
| };
|
|
|
|
|
| Clazz.isClassDefined = Clazz.isDefinedClass = function (clazzName) {
|
| if (clazzName != null && clazzName.length != 0) {
|
| if (Clazz.allClasses[clazzName]) {
|
| return true;
|
| }
|
| var pkgFrags = clazzName.split (/\./);
|
| var pkg = null;
|
| for (var i = 0; i < pkgFrags.length; i++) {
|
| if (pkg == null) {
|
| if (Clazz.allPackage[pkgFrags[0]] == null) {
|
|
|
| return false;
|
| }
|
| pkg = Clazz.allPackage[pkgFrags[0]];
|
| } else {
|
| if (pkg[pkgFrags[i]] == null) {
|
|
|
| return false;
|
| }
|
| pkg = pkg[pkgFrags[i]]
|
| }
|
| }
|
|
|
|
|
| if (pkg != null) {
|
| Clazz.allClasses[clazzName] = true;
|
| return true;
|
| } else {
|
| return false;
|
| }
|
| } else {
|
|
|
| return false;
|
| }
|
| };
|
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.defineEnumConstant = function (clazzEnum, enumName, enumOrdinal, initialParams, clazzEnumExt) {
|
| var o = null;
|
| if (clazzEnumExt != null) {
|
| o = new clazzEnumExt ();
|
| } else {
|
| o = new clazzEnum ();
|
| }
|
| Clazz.superConstructor (o, clazzEnum, [enumName, enumOrdinal]);
|
| if (initialParams != null && initialParams.length != 0) {
|
| o.construct.apply (o, initialParams);
|
| }
|
| clazzEnum[enumName] = o;
|
| clazzEnum.prototype[enumName] = o;
|
| return o;
|
| };
|
|
|
| |
| |
| |
| |
|
|
|
|
| Clazz.newArray = function () {
|
| var args = arguments;
|
| if (arguments.length == 1) {
|
| if (arguments[0] instanceof Array) {
|
| args = arguments[0];
|
| }
|
| }
|
| if (args.length <= 1) {
|
| return new Array ();
|
| } else if (args.length == 2) {
|
| var dim = args[0];
|
| if (typeof dim == "string") {
|
| dim = dim.charCodeAt (0);
|
| }
|
| var val = args[1];
|
| var arr = new Array (dim);
|
| for (var i = 0; i < dim; i++) {
|
| arr[i] = val;
|
| }
|
| return arr;
|
| } else {
|
| var dim = args[0];
|
| if (typeof dim == "string") {
|
| dim = dim.charCodeAt (0);
|
| }
|
| var len = args.length - 1;
|
| var xargs = new Array (len);
|
| for (var i = 0; i < len; i++) {
|
| xargs[i] = args[i + 1];
|
| }
|
| var arr = new Array (dim);
|
| for (var i = 0; i < dim; i++) {
|
|
|
| arr[i] = Clazz.newArray (xargs);
|
| }
|
| return arr;
|
| }
|
| };
|
|
|
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.makeFunction = function (jsr) {
|
| return function (e) {
|
| if (e == null) {
|
| e = window.event;
|
| }
|
| if (jsr.setEvent != null) {
|
| jsr.setEvent (e);
|
| }
|
| jsr.run ();
|
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| if (jsr.returnSet == 1) {
|
| return jsr.returnNumber;
|
| } else if (jsr.returnSet == 2) {
|
| return jsr.returnBoolean;
|
| } else if (jsr.returnSet == 3) {
|
| return jsr.returnObject;
|
| }
|
| };
|
| };
|
|
|
|
|
| Clazz.defineStatics = function (clazz) {
|
| for (var i = 0; i < (arguments.length - 1) / 2; i++) {
|
| var name = arguments[i + i + 1];
|
| clazz[name] = clazz.prototype[name] = arguments[i + i + 2];
|
| }
|
| };
|
|
|
|
|
| Clazz.prepareFields = function (clazz, fieldsFun) {
|
| var stacks = new Array ();
|
| if (clazz.con$truct != null) {
|
| var ss = clazz.con$truct.stacks;
|
| var idx = clazz.con$truct.index;
|
| for (var i = idx; i < ss.length; i++) {
|
| stacks[i] = ss[i];
|
| }
|
| }
|
| clazz.con$truct = clazz.prototype.con$truct = function () {
|
| var stacks = arguments.callee.stacks;
|
| if (stacks != null) {
|
| for (var i = 0; i < stacks.length; i++) {
|
| stacks[i].apply (this, []);
|
| }
|
| }
|
| };
|
| stacks[stacks.length] = fieldsFun;
|
| clazz.con$truct.stacks = stacks;
|
| clazz.con$truct.index = 0;
|
| };
|
|
|
| |
| |
| |
|
|
|
|
| Clazz.registerSerializableFields = function (clazz) {
|
| var args = arguments;
|
| var length = args.length;
|
| var newArr = new Array ();
|
| if (clazz.declared$Fields != null) {
|
| for (var i = 0; i < clazz.declared$Fields.length; i++) {
|
| newArr[i] = clazz.declared$Fields[i];
|
| }
|
| }
|
| clazz.declared$Fields = newArr;
|
|
|
| if (length > 0 && length % 2 == 1) {
|
| var fs = clazz.declared$Fields;
|
| for (var i = 1; i <= (length - 1) / 2; i++) {
|
| var o = { name : args[i + i - 1], type : args[i + i] };
|
| var existed = false;
|
| for (var j = 0; j < fs.length; j++) {
|
| if (fs[j].name == o.name) {
|
| fs[j].type = o.type;
|
| existed = true;
|
| break;
|
| }
|
| }
|
| if (!existed) {
|
| fs[fs.length] = o;
|
| }
|
| }
|
| }
|
| };
|
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
|
|
| Clazz.getMixedCallerMethod = function (args) {
|
| var o = new Object ();
|
| var argc = args.callee.caller;
|
| if (argc == null) return null;
|
| if (argc !== Clazz.tryToSearchAndExecute) {
|
| argc = argc.arguments.callee.caller;
|
| if (argc == null) return null;
|
| }
|
| if (argc !== Clazz.tryToSearchAndExecute) return null;
|
| argc = argc.arguments.callee.caller;
|
| if (argc == null || argc !== Clazz.searchAndExecuteMethod) return null;
|
| o.claxxRef = argc.arguments[1];
|
| o.fxName = argc.arguments[2];
|
| o.paramTypes = Clazz.getParamsType (argc.arguments[3]);
|
| argc = argc.arguments.callee.caller;
|
| if (argc == null) return null;
|
| argc = argc.arguments.callee.caller;
|
| if (argc == null) return null;
|
| o.caller = argc;
|
| return o;
|
| };
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.checkPrivateMethod = function (args) {
|
| var m = Clazz.getMixedCallerMethod (args);
|
| if (m == null) return null;
|
| var callerFx = m.claxxRef.prototype[m.caller.exName];
|
| if (callerFx == null) return null;
|
| var ppFun = null;
|
| if (callerFx.claxxOwner != null) {
|
| ppFun = callerFx.claxxOwner.prototype[m.fxName];
|
| } else {
|
| var stacks = callerFx.stacks;
|
| for (var i = stacks.length - 1; i >= 0; i--) {
|
| var fx = stacks[i].prototype[m.caller.exName];
|
| if (fx === m.caller) {
|
| ppFun = stacks[i].prototype[m.fxName];
|
| } else if (fx != null) {
|
| for (var fn in fx) {
|
| if (fn.indexOf ('\\') == 0 && fx[fn] === m.caller) {
|
| ppFun = stacks[i].prototype[m.fxName];
|
| break;
|
| }
|
| }
|
| }
|
| if (ppFun != null) {
|
| break;
|
| }
|
| }
|
| }
|
| if (ppFun != null && ppFun.claxxOwner == null) {
|
| ppFun = ppFun["\\" + m.paramTypes];
|
| }
|
| if (ppFun != null && ppFun.isPrivate && ppFun !== args.callee) {
|
| return ppFun;
|
| }
|
| return null;
|
| };
|
| var $fz = null;
|
|
|
| var c$ = null;
|
|
|
| Clazz.cla$$$tack = new Array ();
|
| Clazz.pu$h = function () {
|
| if (c$ != null) {
|
| Clazz.cla$$$tack[Clazz.cla$$$tack.length] = c$;
|
| }
|
| };
|
| Clazz.p0p = function () {
|
| if (Clazz.cla$$$tack.length > 0) {
|
| var clazz = Clazz.cla$$$tack[Clazz.cla$$$tack.length - 1];
|
| Clazz.cla$$$tack.length--;
|
| return clazz;
|
| } else {
|
| return null;
|
| }
|
| };
|
|
|
|
|
| |
| |
|
|
|
|
| Clazz.tracingCalling = false;
|
|
|
| |
| |
|
|
|
|
| Clazz.initializingException = false;
|
|
|
|
|
| Clazz.callingStack = function (caller, owner) {
|
| this.caller = caller;
|
| this.owner = owner;
|
| };
|
| Clazz.callingStackTraces = new Array ();
|
| Clazz.pu$hCalling = function (stack) {
|
| Clazz.callingStackTraces[Clazz.callingStackTraces.length] = stack;
|
| };
|
| Clazz.p0pCalling = function () {
|
| var length = Clazz.callingStackTraces.length;
|
| if (length > 0) {
|
| var stack = Clazz.callingStackTraces[length - 1];
|
| Clazz.callingStackTraces.length--;
|
| return stack;
|
| } else {
|
| return null;
|
| }
|
| };
|
|
|
|
|
| |
| |
| |
|
|
|
|
| if (window["ClazzLoader"] != null && ClazzLoader.binaryFolders != null) {
|
| Clazz.binaryFolders = ClazzLoader.binaryFolders;
|
| } else {
|
| Clazz.binaryFolders = ["bin/", "", "j2slib/"];
|
| }
|
|
|
| Clazz.addBinaryFolder = function (bin) {
|
| if (bin != null) {
|
| var bins = Clazz.binaryFolders;
|
| for (var i = 0; i < bins.length; i++) {
|
| if (bins[i] == bin) {
|
| return ;
|
| }
|
| }
|
| bins[bins.length] = bin;
|
| }
|
| };
|
| Clazz.removeBinaryFolder = function (bin) {
|
| if (bin != null) {
|
| var bins = Clazz.binaryFolders;
|
| for (var i = 0; i < bins.length; i++) {
|
| if (bins[i] == bin) {
|
| for (var j = i; j < bins.length - 1; j++) {
|
| bins[j] = bins[j + 1];
|
| }
|
| bins.length--;
|
| return bin;
|
| }
|
| }
|
| }
|
| return null;
|
| };
|
| Clazz.setPrimaryFolder = function (bin) {
|
| if (bin != null) {
|
| Clazz.removeBinaryFolder (bin);
|
| var bins = Clazz.binaryFolders;
|
| for (var i = bins.length - 1; i >= 0; i--) {
|
| bins[i + 1] = bins[i];
|
| }
|
| bins[0] = bin;
|
| }
|
| };
|
|
|
| |
| |
| |
| |
| |
|
|
|
|
| Clazz.load = function (musts, clazz, optionals, declaration) {
|
| if (declaration != null) {
|
| declaration ();
|
| }
|
| };
|
|
|
| |
| |
| |
| |
|
|
| java.lang.Object = Clazz._O;
|
|
|
| JavaObject.getName = Clazz.innerFunctions.getName;
|
|
|
| w$ = window;
|
| d$ = document;
|
| System = {
|
| currentTimeMillis : function () {
|
| return new Date ().getTime ();
|
| },
|
| props : null,
|
| getProperties : function () {
|
| return System.props;
|
| },
|
| setProperties : function (props) {
|
| System.props = props;
|
| },
|
| getProperty : function (key, def) {
|
| if (System.props != null) {
|
| return System.props.getProperty (key, def);
|
| }
|
| if (def != null) {
|
| return def;
|
| }
|
| return key;
|
| },
|
| setProperty : function (key, val) {
|
| if (System.props == null) {
|
| return ;
|
| }
|
| System.props.setProperty (key, val);
|
| },
|
| currentTimeMillis : function () {
|
| return new Date ().getTime ();
|
| },
|
| arraycopy : function (src, srcPos, dest, destPos, length) {
|
| if (src !== dest) {
|
| for (var i = 0; i < length; i++) {
|
| dest[destPos + i] = src[srcPos + i];
|
| }
|
| } else {
|
| var swap = [];
|
| for (var i = 0; i < length; i++) {
|
| swap[i] = src[srcPos + i];
|
| }
|
| for (var i = 0; i < length; i++) {
|
| dest[destPos + i] = swap[i];
|
| }
|
| }
|
| }
|
| };
|
| System.out = new Clazz._O ();
|
| System.out.__CLASS_NAME__ = "java.io.PrintStream";
|
| System.out.print = function () {};
|
| System.out.printf = function () {};
|
| System.out.println = function () {};
|
|
|
| System.err = new Clazz._O ();
|
| System.err.__CLASS_NAME__ = "java.io.PrintStream";
|
| System.err.print = function () {};
|
| System.err.printf = function () {};
|
| System.err.println = function () {};
|
|
|
| popup = assert = log = error = window.alert;
|
|
|
| Thread = function () {};
|
| Thread.J2S_THREAD = Thread.prototype.J2S_THREAD = new Thread ();
|
| Thread.currentThread = Thread.prototype.currentThread = function () {
|
| return this.J2S_THREAD;
|
| };
|
|
|
|
|
| Clazz.intCast = function (n) {
|
| var b1 = (n & 0xff000000) >> 24;
|
| var b2 = (n & 0xff0000) >> 16;
|
| var b3 = (n & 0xff00) >> 8;
|
| var b4 = n & 0xff;
|
| if ((b1 & 0x80) != 0) {
|
| return -(((b1 & 0x7f) << 24) + (b2 << 16) + (b3 << 8) + b4 + 1);
|
| } else {
|
| return (b1 << 24) + (b2 << 16) + (b3 << 8) + b4;
|
| }
|
| };
|
|
|
|
|
| Clazz.shortCast = function (s) {
|
| var b1 = (n & 0xff00) >> 8;
|
| var b2 = n & 0xff;
|
| if ((b1 & 0x80) != 0) {
|
| return -(((b1 & 0x7f) << 8) + b2 + 1);
|
| } else {
|
| return (b1 << 8) + b4;
|
| }
|
| };
|
|
|
|
|
| Clazz.byteCast = function (b) {
|
| if ((b & 0x80) != 0) {
|
| return -((b & 0x7f) + 1);
|
| } else {
|
| return b & 0xff;
|
| }
|
| };
|
|
|
|
|
| Clazz.charCast = function (c) {
|
| return String.fromCharCode (c & 0xff).charAt (0);
|
| };
|
|
|
| |
| |
|
|
|
|
| Clazz.floatCast = function (f) {
|
| return f;
|
| };
|
|
|
| |
| |
|
|
|
|
| Clazz.longMasks = [];
|
|
|
| Clazz.longReverseMasks = [];
|
|
|
| Clazz.longBits = [];
|
|
|
| (function () {
|
| var arr = [1];
|
| for (var i = 1; i < 53; i++) {
|
| arr[i] = arr[i - 1] + arr[i - 1];
|
| }
|
| Clazz.longBits = arr;
|
| Clazz.longMasks[52] = arr[52];
|
| for (var i = 51; i >= 0; i--) {
|
| Clazz.longMasks[i] = Clazz.longMasks[i + 1] + arr[i];
|
| }
|
| Clazz.longReverseMasks[0] = arr[0];
|
| for (var i = 1; i < 52; i++) {
|
| Clazz.longReverseMasks[i] = Clazz.longReverseMasks[i - 1] + arr[i];
|
| }
|
| }) ();
|
|
|
|
|
| Clazz.longLeftShift = function (l, o) {
|
| if (o == 0) return l;
|
| if (o >= 64) return 0;
|
| if (o > 52) {
|
| error ("[Java2Script] Error : JavaScript does not support long shift!");
|
| return l;
|
| }
|
| if ((l & Clazz.longMasks[o - 1]) != 0) {
|
| error ("[Java2Script] Error : Such shift operator results in wrong calculation!");
|
| return l;
|
| }
|
| var high = l & Clazz.longMasks[52 - 32 + o];
|
| if (high != 0) {
|
| return high * Clazz.longBits[o] + (l & Clazz.longReverseMasks[32 - o]) << 0;
|
| } else {
|
| return l << o;
|
| }
|
| };
|
|
|
|
|
| Clazz.intLeftShift = function (n, o) {
|
| return (n << o) & 0xffffffff;
|
| };
|
|
|
|
|
| Clazz.longRightShift = function (l, o) {
|
| if ((l & Clazz.longMasks[52 - 32]) != 0) {
|
| return Math.round((l & Clazz.longMasks[52 - 32]) / Clazz.longBits[32 - o]) + (l & Clazz.longReverseMasks[o]) >> o;
|
| } else {
|
| return l >> o;
|
| }
|
| };
|
|
|
|
|
| Clazz.intRightShift = function (n, o) {
|
| return n >> o;
|
| };
|
|
|
|
|
| Clazz.long0RightShift = function (l, o) {
|
| return l >>> o;
|
| };
|
|
|
|
|
| Clazz.int0RightShift = function (n, o) {
|
| return n >>> o;
|
| };
|
|
|
|
|
| $_L=Clazz.load;$_W=Clazz.declareAnonymous;$_T=Clazz.declareType;$_J=Clazz.declarePackage;$_C=Clazz.decorateAsClass;$_Z=Clazz.instantialize;$_I=Clazz.declareInterface;$_D=Clazz.isClassDefined;$_H=Clazz.pu$h;$_P=Clazz.p0p;$_B=Clazz.prepareCallback;$_N=Clazz.innerTypeInstance;$_K=Clazz.makeConstructor;$_U=Clazz.superCall;$_R=Clazz.superConstructor;$_M=Clazz.defineMethod;$_V=Clazz.overrideMethod;$_S=Clazz.defineStatics;$_E=Clazz.defineEnumConstant;$_F=Clazz.cloneFinals;$_Y=Clazz.prepareFields;$_A=Clazz.newArray;$_O=Clazz.instanceOf;$_G=Clazz.inheritArgs;$_X=Clazz.checkPrivateMethod;$_Q=Clazz.makeFunction;$_s=Clazz.registerSerializableFields;
|
|
|
|
|
| var reflect = Clazz.declarePackage ("java.lang.reflect");
|
| Clazz.declarePackage ("java.security");
|
|
|
| Clazz.innerFunctionNames = Clazz.innerFunctionNames.concat (["getSuperclass",
|
| "isAssignableFrom", "getMethods", "getMethod", "getDeclaredMethods",
|
| "getDeclaredMethod", "getConstructor", "getModifiers", "isArray", "newInstance"]);
|
|
|
| Clazz.innerFunctions.getSuperclass = function () {
|
| return this.superClazz;
|
| };
|
| Clazz.innerFunctions.isAssignableFrom = function (clazz) {
|
| return Clazz.getInheritedLevel (clazz, this) >= 0;
|
| };
|
| Clazz.innerFunctions.getConstructor = function () {
|
| return new java.lang.reflect.Constructor (this, [], [],
|
| java.lang.reflect.Modifier.PUBLIC);
|
| };
|
| |
| |
|
|
| Clazz.innerFunctions.getDeclaredMethods = Clazz.innerFunctions.getMethods = function () {
|
| var ms = new Array ();
|
| var p = this.prototype;
|
| for (var attr in p) {
|
| if (typeof p[attr] == "function" && p[attr].__CLASS_NAME__ == null) {
|
|
|
| ms[ms.length] = new java.lang.reflect.Method (this, attr,
|
| [], java.lang.Void, [], java.lang.reflect.Modifier.PUBLIC);
|
| }
|
| }
|
| p = this;
|
| for (var attr in p) {
|
| if (typeof p[attr] == "function" && p[attr].__CLASS_NAME__ == null) {
|
| ms[ms.length] = new java.lang.reflect.Method (this, attr,
|
| [], java.lang.Void, [], java.lang.reflect.Modifier.PUBLIC
|
| | java.lang.reflect.Modifier.STATIC);
|
| }
|
| }
|
| return ms;
|
| };
|
| Clazz.innerFunctions.getDeclaredMethod = Clazz.innerFunctions.getMethod = function (name, clazzes) {
|
| var p = this.prototype;
|
| for (var attr in p) {
|
| if (name == attr && typeof p[attr] == "function"
|
| && p[attr].__CLASS_NAME__ == null) {
|
|
|
| return new java.lang.reflect.Method (this, attr,
|
| [], java.lang.Void, [], java.lang.reflect.Modifier.PUBLIC);
|
| }
|
| }
|
| p = this;
|
| for (var attr in p) {
|
| if (name == attr && typeof p[attr] == "function"
|
| && p[attr].__CLASS_NAME__ == null) {
|
| return new java.lang.reflect.Method (this, attr,
|
| [], java.lang.Void, [], java.lang.reflect.Modifier.PUBLIC
|
| | java.lang.reflect.Modifier.STATIC);
|
| }
|
| }
|
| return null;
|
| };
|
| Clazz.innerFunctions.getModifiers = function () {
|
| return java.lang.reflect.Modifier.PUBLIC;
|
| };
|
| Clazz.innerFunctions.isArray = function () {
|
| return false;
|
| };
|
| Clazz.innerFunctions.newInstance = function () {
|
| var clz = this;
|
| return new clz ();
|
| };
|
|
|
|
|
| {
|
| var inF = Clazz.innerFunctionNames;
|
| for (var i = 0; i < inF.length; i++) {
|
| JavaObject[inF[i]] = Clazz.innerFunctions[inF[i]];
|
| Array[inF[i]] = Clazz.innerFunctions[inF[i]];
|
| }
|
| Array["isArray"] = function () {
|
| return true;
|
| };
|
| }
|
|
|
|
|
| Clazz.forName = function (clazzName) {
|
| if (Clazz.isClassDefined (clazzName)) {
|
| return Clazz.evalType (clazzName);
|
| }
|
| if (window["ClazzLoader"] != null) {
|
| ClazzLoader.setLoadingMode ("xhr.sync");
|
| ClazzLoader.loadClass (clazzName);
|
| return Clazz.evalType (clazzName);
|
| } else {
|
| alert ("[Java2Script] Error: No ClassLoader!");
|
| }
|
| };
|
|
|
|
|
|
|
|
|
| Clazz.cleanDelegateMethod = function (m) {
|
| if (m == null) return;
|
| if (typeof m == "function" && m.lastMethod != null
|
| && m.lastParams != null && m.lastClaxxRef != null) {
|
| m.lastMethod = null;
|
| m.lastParams = null;
|
| m.lastClaxxRef = null;
|
| }
|
| };
|
|
|
|
|
| Clazz.unloadClass = function (qClazzName) {
|
| var cc = Clazz.evalType (qClazzName);
|
| if (cc != null) {
|
| Clazz.unloadedClasses[qClazzName] = cc;
|
| var clazzName = qClazzName;
|
| var pkgFrags = clazzName.split (/\./);
|
| var pkg = null;
|
| for (var i = 0; i < pkgFrags.length - 1; i++) {
|
| if (pkg == null) {
|
| pkg = Clazz.allPackage[pkgFrags[0]];
|
| } else {
|
| pkg = pkg[pkgFrags[i]]
|
| }
|
| }
|
| if (pkg == null) {
|
| Clazz.allPackage[pkgFrags[0]] = null;
|
| window[pkgFrags[0]] = null;
|
|
|
| for (var c in window) {
|
| if (c.indexOf (qClazzName + "$") == 0) {
|
| Clazz.unloadClass (c);
|
| window[c] = null;
|
| }
|
| }
|
| } else {
|
| pkg[pkgFrags[pkgFrags.length - 1]] = null;
|
|
|
| for (var c in pkg) {
|
| if (c.indexOf (pkgFrags[pkgFrags.length - 1] + "$") == 0) {
|
| Clazz.unloadClass (pkg.__PKG_NAME__ + "." + c);
|
| pkg[c] = null;
|
| }
|
| }
|
| }
|
|
|
| if (Clazz.allClasses[qClazzName] == true) {
|
| Clazz.allClasses[qClazzName] = false;
|
|
|
| for (var c in Clazz.allClasses) {
|
| if (c.indexOf (qClazzName + "$") == 0) {
|
| Clazz.allClasses[c] = false;
|
| }
|
| }
|
| }
|
|
|
| for (var m in cc) {
|
| Clazz.cleanDelegateMethod (cc[m]);
|
| }
|
| for (var m in cc.prototype) {
|
| Clazz.cleanDelegateMethod (cc.prototype[m]);
|
| }
|
|
|
| if (window["ClazzLoader"] != null) {
|
| ClazzLoader.unloadClassExt (qClazzName);
|
| }
|
|
|
| return true;
|
| }
|
| return false;
|
| };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Clazz.addEvent = function (element, type, handler) {
|
| if (element.addEventListener) {
|
| element.addEventListener(type, handler, false);
|
| } else {
|
|
|
| if (!handler.$$guid) handler.$$guid = Clazz.addEvent.guid++;
|
|
|
| if (!element.events) element.events = {};
|
|
|
| var handlers = element.events[type];
|
| if (!handlers) {
|
| handlers = element.events[type] = {};
|
|
|
| if (element["on" + type]) {
|
| handlers[0] = element["on" + type];
|
| }
|
| }
|
|
|
| handlers[handler.$$guid] = handler;
|
|
|
| element["on" + type] = Clazz.handleEvent;
|
| }
|
| };
|
|
|
|
|
| Clazz.addEvent.guid = 1;
|
|
|
|
|
| Clazz.removeEvent = function (element, type, handler) {
|
| if (element.removeEventListener) {
|
| element.removeEventListener(type, handler, false);
|
| } else {
|
|
|
| if (element.events && element.events[type]) {
|
| delete element.events[type][handler.$$guid];
|
| }
|
| }
|
| };
|
|
|
|
|
| Clazz.isVeryOldIE = navigator.userAgent.indexOf("MSIE 6.0") != -1 || navigator.userAgent.indexOf("MSIE 5.5") != -1 || navigator.userAgent.indexOf("MSIE 5.0") != -1;
|
|
|
|
|
| Clazz.handleEvent = function (event) {
|
| var returnValue = true;
|
|
|
| if (!Clazz.isVeryOldIE) {
|
| event = event || Clazz.fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
|
| } else {
|
| if (event == null) {
|
| var evt = null;
|
| try {
|
| var pWindow = (this.ownerDocument || this.document || this).parentWindow;
|
| if (pWindow != null) {
|
| evt = pWindow.event;
|
| }
|
| } catch (e) {
|
| evt = window.event;
|
| }
|
| event = Clazz.fixEvent(evt);
|
| }
|
| }
|
|
|
| var handlers = this.events[event.type];
|
|
|
| for (var i in handlers) {
|
| if (isNaN (i)) {
|
| continue;
|
| }
|
| this.$$handleEvent = handlers[i];
|
| if (typeof this.$$handleEvent != "function") {
|
| continue;
|
| }
|
| if (this.$$handleEvent(event) === false) {
|
| returnValue = false;
|
| }
|
| }
|
| return returnValue;
|
| };
|
|
|
|
|
| Clazz.fixEvent = function (event) {
|
|
|
| event.preventDefault = Clazz.fixEvent.preventDefault;
|
| event.stopPropagation = Clazz.fixEvent.stopPropagation;
|
| return event;
|
| };
|
| Clazz.fixEvent.preventDefault = function() {
|
| this.returnValue = false;
|
| };
|
| Clazz.fixEvent.stopPropagation = function() {
|
| this.cancelBubble = true;
|
| };
|
|
|
| }
|
|
|