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

  1. package com.netscape.javascript;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.Method;
  5.  
  6. class FieldAndMethods extends NativeJavaMethod {
  7.    private Field field;
  8.    private Object javaObject;
  9.  
  10.    public Object getDefaultValue(Class var1) {
  11.       if (var1 == ScriptRuntime.FunctionClass) {
  12.          return this;
  13.       } else {
  14.          Object var2;
  15.          try {
  16.             var2 = this.field.get(this.javaObject);
  17.          } catch (IllegalAccessException var3) {
  18.             throw Context.reportRuntimeError(Context.getMessage("msg.java.internal.private", (Object[])null));
  19.          }
  20.  
  21.          var2 = NativeJavaObject.wrap(this, var2, this.field.getType());
  22.          if (var2 instanceof Scriptable) {
  23.             ((Scriptable)var2).setParentScope(this);
  24.             ((Scriptable)var2).setPrototype(super.parent.getPrototype());
  25.          }
  26.  
  27.          return var2;
  28.       }
  29.    }
  30.  
  31.    FieldAndMethods(Method[] var1, Field var2) {
  32.       super(var1);
  33.       this.field = var2;
  34.    }
  35.  
  36.    void setJavaObject(Object var1) {
  37.       this.javaObject = var1;
  38.    }
  39.  
  40.    Field getField() {
  41.       return this.field;
  42.    }
  43.  
  44.    String getName() {
  45.       return this.field.getName();
  46.    }
  47.  
  48.    public Object clone() {
  49.       FieldAndMethods var1 = new FieldAndMethods(super.methods, this.field);
  50.       var1.javaObject = this.javaObject;
  51.       return var1;
  52.    }
  53. }
  54.