home *** CD-ROM | disk | FTP | other *** search
- package com.netscape.javascript;
-
- public class NativeJavaPackage extends RescopeableObject {
- static final String[] commonPackages = new String[]{"java.lang", "java.lang.reflect", "java.io", "java.math", "java.util", "java.util.zip", "java.text", "java.text.resources", "java.applet", "netscape.security", "netscape.plugin", "netscape.application"};
- private String packageName;
- // $FF: synthetic field
- private static Class class$com$netscape$javascript$NativeJavaPackage;
-
- public static Scriptable getClass(Context var0, Scriptable var1, Object[] var2, Function var3) {
- if (var2.length > 0 && var2[0] instanceof NativeJavaObject) {
- NativeJavaObject var4 = (NativeJavaObject)var2[0];
- Scriptable var5 = ScriptableObject.getTopLevelScope(var1);
- Class var6 = var4.unwrap().getClass();
- String var7 = "Packages." + var6.getName();
- int var8 = 0;
-
- while(true) {
- int var9 = var7.indexOf(46, var8);
- String var10 = var9 == -1 ? var7.substring(var8) : var7.substring(var8, var9);
- Object var11 = var5.get(var10, var5);
- if (!(var11 instanceof Scriptable)) {
- break;
- }
-
- var5 = (Scriptable)var11;
- if (var9 == -1) {
- return var5;
- }
-
- var8 = var9 + 1;
- }
- }
-
- throw Context.reportRuntimeError(Context.getMessage("msg.not.java.obj", (Object[])null));
- }
-
- void forcePackage(String var1) {
- int var3 = var1.indexOf(46);
- if (var3 == -1) {
- var3 = var1.length();
- }
-
- String var4 = var1.substring(0, var3);
- Object var5 = super.get(var4, this);
- NativeJavaPackage var2;
- if (var5 != null && var5 instanceof NativeJavaPackage) {
- var2 = (NativeJavaPackage)var5;
- } else {
- String var6 = this.packageName.length() == 0 ? var4 : this.packageName + "." + var4;
- var2 = new NativeJavaPackage(var6);
- ((ScriptableObject)var2).setParentScope(this);
- ((ScriptableObject)var2).setPrototype(super.prototype);
- super.put(var4, this, var2);
- }
-
- if (var3 < var1.length()) {
- var2.forcePackage(var1.substring(var3 + 1));
- }
-
- }
-
- public void put(String var1, Scriptable var2, Object var3) {
- }
-
- public void put(int var1, Scriptable var2, Object var3) {
- }
-
- public synchronized Object get(String var1, Scriptable var2) {
- Object var3 = super.get(var1, var2);
- if (var3 != Scriptable.NOT_FOUND) {
- return var3;
- } else {
- String var4 = this.packageName.length() == 0 ? var1 : this.packageName + "." + var1;
-
- Object var5;
- try {
- Class var6 = Class.forName(var4);
- var5 = NativeJavaClass.wrap(ScriptableObject.getTopLevelScope(this), var6);
- ((Scriptable)var5).setParentScope(this);
- ((Scriptable)var5).setPrototype(super.prototype);
- } catch (ClassNotFoundException var7) {
- var5 = new NativeJavaPackage(var4);
- ((Scriptable)var5).setParentScope(this);
- ((Scriptable)var5).setPrototype(super.prototype);
- }
-
- super.put(var1, var2, var5);
- return var5;
- }
- }
-
- public synchronized Object get(int var1, Scriptable var2) {
- return Scriptable.NOT_FOUND;
- }
-
- public Object getDefaultValue(Class var1) {
- return this.toString();
- }
-
- public NativeJavaPackage(String var1) {
- this.packageName = var1;
- }
-
- public String toString() {
- return "[JavaPackage " + this.packageName + "]";
- }
-
- // $FF: synthetic method
- private static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- public boolean has(String var1, int var2, Scriptable var3) {
- return true;
- }
-
- public static Scriptable init(Scriptable var0) throws PropertyException {
- NativeJavaPackage var1 = new NativeJavaPackage("");
- ((ScriptableObject)var1).setPrototype(ScriptableObject.getObjectPrototype(var0));
- ((ScriptableObject)var1).setParentScope(var0);
- NativeJavaPackage var2 = (NativeJavaPackage)var1.get("java", var1);
- ScriptableObject var3 = (ScriptableObject)var0;
- var3.defineProperty("Packages", var1, 2);
- var3.defineProperty("java", var2, 2);
-
- for(int var4 = 0; var4 < commonPackages.length; ++var4) {
- var1.forcePackage(commonPackages[var4]);
- }
-
- NativeJavaObject.initJSObject();
- String[] var5 = new String[]{"getClass"};
- var3.defineFunctionProperties(var5, class$com$netscape$javascript$NativeJavaPackage != null ? class$com$netscape$javascript$NativeJavaPackage : (class$com$netscape$javascript$NativeJavaPackage = class$("com.netscape.javascript.NativeJavaPackage")), 2);
- return var1;
- }
-
- public String getClassName() {
- return "JavaPackage";
- }
- }
-