home *** CD-ROM | disk | FTP | other *** search
- import java.io.FileNotFoundException;
- import stardiv.classfile.ClassFormatException;
- import stardiv.security.JScript2JavaInterface;
- import stardiv.security.JavaCallInfo;
- import stardiv.security.JavaCallInfoElement;
-
- public class JScriptJavaObject extends JSbxObject implements JSbxPropertyInterface {
- private static String LENGTH_NAME = "length";
- private Object aJavaObject;
- private JScript2JavaInterface aJScriptCaller;
- private JavaCallInfo aJavaCallInfo;
- private boolean bJavaArray;
- private int nPropIDCount;
-
- private JavaCallInfo GetJavaCallInfo() {
- if (this.aJavaCallInfo == null) {
- try {
- this.aJavaCallInfo = JavaCallInfo.get(this.aJavaObject.getClass());
- } catch (FileNotFoundException var1) {
- } catch (ClassFormatException var2) {
- } catch (ClassNotFoundException var3) {
- }
- }
-
- return this.aJavaCallInfo;
- }
-
- public JScriptJavaObject(Object var1, JScript2JavaInterface var2, boolean var3) throws FileNotFoundException, ClassFormatException, ClassNotFoundException {
- this.aJavaObject = var1;
- this.aJScriptCaller = var2;
- this.bJavaArray = var3;
- if (this.bJavaArray && !(this.aJavaObject instanceof Object[])) {
- this.bJavaArray = false;
- }
-
- this.nPropIDCount = 0;
- this.aJavaCallInfo = null;
- if (this.bJavaArray) {
- Object[] var4 = this.aJavaObject;
-
- try {
- JSbxValueProperty var5 = new JSbxValueProperty(LENGTH_NAME, this, new JSbxValue((double)var4.length));
- ((JSbxObject)this).Put(var5);
- } catch (JSbxException var6) {
- }
- }
- }
-
- public JScriptJavaObject(Object var1, JScript2JavaInterface var2) throws FileNotFoundException, ClassFormatException, ClassNotFoundException {
- this(var1, var2, false);
- }
-
- public JScriptJavaObject(Object var1) throws FileNotFoundException, ClassFormatException, ClassNotFoundException {
- this(var1, JScriptManager.GetMyJScriptManager().getSecureJScriptCalling(), false);
- }
-
- public JSbxProperty Get(String var1, boolean var2) {
- Object var3 = ((JSbxObject)this).GetNameArray().Get(var1);
- if (var3 == null) {
- JavaCallInfo var4 = this.GetJavaCallInfo();
- if (var4.getMethod(var1) != null) {
- JScriptJavaMethod var6 = new JScriptJavaMethod(var1, this.aJScriptCaller, var4, this.aJavaObject);
-
- try {
- var3 = new JSbxValueProperty(var1, this, new JSbxValue(var6), true, false);
- ((JSbxObject)this).Put((JSbxProperty)var3);
- } catch (JSbxException var8) {
- }
- } else {
- JavaCallInfoElement var5;
- if ((var5 = var4.getField(var1)) != null) {
- ((JSbxObject)this).GetIndexArray().Put(this.nPropIDCount, var5);
-
- try {
- var3 = new JSbxObjectProperty(var1, this, this, this.nPropIDCount++, false, true);
- ((JSbxObject)this).Put((JSbxProperty)var3);
- } catch (JSbxException var7) {
- }
- }
- }
- }
-
- return (JSbxProperty)var3;
- }
-
- public void Put(int var1, JSbxProperty var2) {
- }
-
- public JSbxProperty Get(int var1, boolean var2) {
- if (this.bJavaArray) {
- Object[] var3 = this.aJavaObject;
- return var1 >= 0 && var1 < var3.length ? new JSbxObjectProperty(String.valueOf(var1), this, this, var1, false, true) : null;
- } else {
- return null;
- }
- }
-
- public JSbxValue PropertyCallFunction(JSbxObjectProperty var1, JScriptCallParam var2) throws JSbxExceptionBase {
- return null;
- }
-
- public void PropertyGet(JSbxObjectProperty var1, JSbxValue var2) throws JSbxException {
- if (this.bJavaArray) {
- Object[] var7 = this.aJavaObject;
- int var4 = var1.GetID();
-
- try {
- JSbxValue var5 = JSbxValue.convertJSObject2JScript(var7[var4]);
- var2.Put(var5);
- } catch (Exception var6) {
- }
- } else {
- JavaCallInfo var3 = this.GetJavaCallInfo();
- JScriptJavaClass.JavaPropertyGet(var1, var2, this, this.aJavaObject, this.aJScriptCaller, var3);
- }
- }
-
- public void PropertyPut(JSbxObjectProperty var1, JSbxValue var2) throws JSbxException {
- if (this.bJavaArray) {
- Object[] var5 = this.aJavaObject;
- int var4 = var1.GetID();
- var5[var4] = JSbxValue.convertJScript2JSObject(var2);
- } else {
- JavaCallInfo var3 = this.GetJavaCallInfo();
- JScriptJavaClass.JavaPropertyPut(var1, var2, this, this.aJavaObject, this.aJScriptCaller, var3);
- }
- }
-
- public Object getJavaObject() {
- return this.aJavaObject;
- }
-
- public String Property_GetJScript_typeofString(JSbxObjectProperty var1) {
- return "object";
- }
-
- public String GetJScriptString(boolean var1) {
- return this.aJavaObject.toString();
- }
- }
-