home *** CD-ROM | disk | FTP | other *** search
- import netscape.javascript.JSException;
- import stardiv.security.JScript2JavaInterface;
- import stardiv.security.JavaCallInfo;
- import stardiv.security.JavaCallInfoElement;
- import stardiv.tools.HoldJavaEnvironment;
-
- public class JScriptJavaClass extends JSbxMethod {
- private JScript2JavaInterface aJScriptCaller;
- private JavaCallInfo aJavaCallInfo;
- private int nPropIDCount;
-
- public JavaCallInfo getCallInfo() {
- return this.aJavaCallInfo;
- }
-
- public JScriptJavaClass(JScript2JavaInterface var1, JavaCallInfo var2) {
- super((JScriptConstructor)null);
- this.aJScriptCaller = var1;
- this.aJavaCallInfo = var2;
- this.nPropIDCount = 0;
- }
-
- public JSbxProperty Get(String var1, boolean var2) {
- Object var3 = ((JSbxObject)this).GetNameArray().Get(var1);
- if (var3 == null) {
- JavaCallInfoElement var4;
- if ((var4 = this.aJavaCallInfo.getMethod(var1)) != null && var4.getStaticCount() > 0) {
- JScriptJavaMethod var5 = new JScriptJavaMethod(var1, this.aJScriptCaller, this.aJavaCallInfo);
-
- try {
- var3 = new JSbxValueProperty(var1, this, new JSbxValue(var5), true, false);
- ((JSbxObject)this).Put((JSbxProperty)var3);
- } catch (JSbxException var7) {
- }
- } else if ((var4 = this.aJavaCallInfo.getField(var1)) != null && var4.getStaticCount() > 0) {
- ((JSbxObject)this).GetIndexArray().Put(this.nPropIDCount, var4);
-
- try {
- var3 = new JSbxObjectProperty(var1, this, this, this.nPropIDCount++, false, true);
- ((JSbxObject)this).Put((JSbxProperty)var3);
- } catch (JSbxException var6) {
- }
- }
- }
-
- return (JSbxProperty)var3;
- }
-
- public void Put(int var1, JSbxProperty var2) {
- }
-
- public JSbxProperty Get(int var1, boolean var2) {
- return null;
- }
-
- public JSbxValue CallFunction(JScriptCallParam var1) throws JSbxExceptionBase {
- JScriptJavaMethod var2 = new JScriptJavaMethod("<init>", this.aJScriptCaller, this.aJavaCallInfo);
- JSbxValue var3 = var2.CallFunction(var1);
- return var3;
- }
-
- public JSbxValue PropertyCallFunction(JSbxObjectProperty var1, JScriptCallParam var2) throws JSbxExceptionBase {
- return null;
- }
-
- public void PropertyGet(JSbxObjectProperty var1, JSbxValue var2) throws JSbxException {
- JavaPropertyGet(var1, var2, this, (Object)null, this.aJScriptCaller, this.aJavaCallInfo);
- }
-
- public void PropertyPut(JSbxObjectProperty var1, JSbxValue var2) throws JSbxException {
- JavaPropertyPut(var1, var2, this, (Object)null, this.aJScriptCaller, this.aJavaCallInfo);
- }
-
- public String Property_GetJScript_typeofString(JSbxObjectProperty var1) {
- return "object";
- }
-
- public static void JavaPropertyGet(JSbxObjectProperty var0, JSbxValue var1, JSbxObject var2, Object var3, JScript2JavaInterface var4, JavaCallInfo var5) throws JSbxException {
- var2.GetIndexArray().Get(var0.GetID());
- Object var6 = null;
- boolean var7 = true;
-
- try {
- Object[] var8 = new Object[1];
- var7 = var4.accessJavaField(var8, var3, var5, ((JSbxProperty)var0).GetName(), (Object)null, false);
- var6 = var8[0];
- } catch (JSException var11) {
- HoldJavaEnvironment.AddToProtocol(((Throwable)var11).toString());
- }
-
- Object var12 = null;
-
- try {
- var13 = JSbxValue.convertJava2JScript(var6, var7, var4);
- } catch (Exception var10) {
- throw new JSbxException(0, ((Throwable)var10).getMessage());
- }
-
- var1.Put(var13);
- }
-
- public static void JavaPropertyPut(JSbxObjectProperty var0, JSbxValue var1, JSbxObject var2, Object var3, JScript2JavaInterface var4, JavaCallInfo var5) throws JSbxException {
- var2.GetIndexArray().Get(var0.GetID());
- Object var6 = JSbxValue.convertJScript2Java(var1);
-
- try {
- var4.accessJavaField(var3, var5, ((JSbxProperty)var0).GetName(), var6, true);
- } catch (JSException var8) {
- HoldJavaEnvironment.AddToProtocol(((Throwable)var8).toString());
- }
- }
-
- public String GetJScriptString(boolean var1) {
- return "[JavaClass " + getClassName(this.aJavaCallInfo) + "]";
- }
-
- public static String getClassName(JavaCallInfo var0) {
- return var0.getInfoClass().getName();
- }
- }
-