home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / APCHSSL2.ZIP / OS2HTTPD / jserv / com / netscape / javascript / NativeObject.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  3.2 KB  |  73 lines

  1. package com.netscape.javascript;
  2.  
  3. import java.util.Hashtable;
  4.  
  5. public class NativeObject extends RescopeableObject {
  6.    public static Object js_Object(Context var0, Object[] var1, Function var2, boolean var3) throws JavaScriptException {
  7.       if (!var3) {
  8.          return var2.construct(var0, var2.getParentScope(), var1);
  9.       } else {
  10.          return var1.length != 0 && var1[0] != null && var1[0] != Undefined.instance ? ScriptRuntime.toObject(var2.getParentScope(), var1[0]) : new NativeObject();
  11.       }
  12.    }
  13.  
  14.    public static Object js_valueOf(Context var0, Scriptable var1, Object[] var2, Function var3) {
  15.       return var1;
  16.    }
  17.  
  18.    public String toString() {
  19.       Context var1 = Context.getContext();
  20.       return var1 != null ? js_toString(var1, this, (Object[])null, (Function)null) : "[object " + this.getClassName() + "]";
  21.    }
  22.  
  23.    public static String js_toString(Context var0, Scriptable var1, Object[] var2, Function var3) {
  24.       return var0.getLanguageVersion() != 120 ? "[object " + var1.getClassName() + "]" : toSource(var0, var1, var2, var3);
  25.    }
  26.  
  27.    public static void finishInit(Scriptable var0, FunctionObject var1, Scriptable var2) {
  28.       Object var3 = var2.get("valueOf", var2);
  29.       ((FunctionObject)var3).setLength((short)0);
  30.    }
  31.  
  32.    public static String toSource(Context var0, Scriptable var1, Object[] var2, Function var3) {
  33.       Scriptable var4 = var1;
  34.       if (var0.iterating == null) {
  35.          var0.iterating = new Hashtable(31);
  36.       }
  37.  
  38.       if (var0.iterating.get(var1) == Boolean.TRUE) {
  39.          return "{}";
  40.       } else {
  41.          StringBuffer var5 = new StringBuffer("{");
  42.          Object[] var6 = var1.getIds();
  43.  
  44.          for(int var7 = 0; var7 < var6.length; ++var7) {
  45.             if (var7 > 0) {
  46.                var5.append(", ");
  47.             }
  48.  
  49.             Object var8 = var6[var7];
  50.             String var9 = ScriptRuntime.toString(var8);
  51.             Object var10 = var8 instanceof String ? var4.get((String)var8, var4) : var4.get(((Number)var8).intValue(), var4);
  52.             if (var10 instanceof String) {
  53.                var5.append(var9 + ":\"" + ScriptRuntime.escapeString(ScriptRuntime.toString(var10)) + "\"");
  54.             } else {
  55.                try {
  56.                   var0.iterating.put(var4, Boolean.TRUE);
  57.                   var5.append(var9 + ":" + ScriptRuntime.toString(var10));
  58.                } finally {
  59.                   var0.iterating.remove(var4);
  60.                }
  61.             }
  62.          }
  63.  
  64.          var5.append("}");
  65.          return var5.toString();
  66.       }
  67.    }
  68.  
  69.    public String getClassName() {
  70.       return "Object";
  71.    }
  72. }
  73.