home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / UIDefaults$ProxyLazyValue.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.9 KB  |  107 lines

  1. package javax.swing;
  2.  
  3. import java.lang.reflect.Constructor;
  4. import java.lang.reflect.Method;
  5. import javax.swing.plaf.ColorUIResource;
  6.  
  7. public class UIDefaults$ProxyLazyValue implements UIDefaults.LazyValue {
  8.    private String className;
  9.    private String methodName;
  10.    private Object[] args;
  11.    // $FF: synthetic field
  12.    static Class class$java$awt$Color;
  13.  
  14.    public UIDefaults$ProxyLazyValue(String var1) {
  15.       this.className = var1;
  16.    }
  17.  
  18.    public UIDefaults$ProxyLazyValue(String var1, String var2) {
  19.       this.className = var1;
  20.       this.methodName = var2;
  21.    }
  22.  
  23.    public UIDefaults$ProxyLazyValue(String var1, Object[] var2) {
  24.       this.className = var1;
  25.       this.args = var2;
  26.    }
  27.  
  28.    public UIDefaults$ProxyLazyValue(String var1, String var2, Object[] var3) {
  29.       this.className = var1;
  30.       this.methodName = var2;
  31.       this.args = var3;
  32.    }
  33.  
  34.    public Object createValue(UIDefaults var1) {
  35.       Object var2 = null;
  36.  
  37.       try {
  38.          Class var3 = Class.forName(this.className);
  39.          if (this.methodName != null) {
  40.             Class[] var4 = this.getClassArray(this.args);
  41.             Method var5 = var3.getMethod(this.methodName, var4);
  42.             var2 = var5.invoke(var3, this.args);
  43.          } else {
  44.             Class[] var8 = this.getClassArray(this.args);
  45.  
  46.             try {
  47.                Constructor var9 = var3.getConstructor(var8);
  48.                var2 = var9.newInstance(this.args);
  49.             } catch (Exception var6) {
  50.                System.out.println("Problem with constructor " + this.className + " and args " + this.printArgs(this.args) + " : " + " and types " + this.printArgs(var8) + " : " + var6);
  51.                Thread.dumpStack();
  52.             }
  53.          }
  54.       } catch (Exception var7) {
  55.          System.out.println("Problem creating " + this.className + " with method " + this.methodName + " and args " + this.printArgs(this.args) + " : " + var7);
  56.          Thread.dumpStack();
  57.       }
  58.  
  59.       return var2;
  60.    }
  61.  
  62.    private Class[] getClassArray(Object[] var1) {
  63.       Class[] var2 = null;
  64.       if (var1 != null) {
  65.          var2 = new Class[var1.length];
  66.  
  67.          for(int var3 = 0; var3 < var1.length; ++var3) {
  68.             if (var1[var3] instanceof Integer) {
  69.                var2[var3] = Integer.TYPE;
  70.             } else if (var1[var3] instanceof Boolean) {
  71.                var2[var3] = Boolean.TYPE;
  72.             } else if (var1[var3] instanceof ColorUIResource) {
  73.                var2[var3] = class$java$awt$Color == null ? (class$java$awt$Color = class$("java.awt.Color")) : class$java$awt$Color;
  74.             } else {
  75.                var2[var3] = var1[var3].getClass();
  76.             }
  77.          }
  78.       }
  79.  
  80.       return var2;
  81.    }
  82.  
  83.    private String printArgs(Object[] var1) {
  84.       String var2 = "{";
  85.       if (var1 != null) {
  86.          for(int var3 = 0; var3 < var1.length - 1; ++var3) {
  87.             var2 = var2.concat(var1[var3] + ",");
  88.          }
  89.  
  90.          var2 = var2.concat(var1[var1.length - 1] + "}");
  91.       } else {
  92.          var2.concat("}");
  93.       }
  94.  
  95.       return var2;
  96.    }
  97.  
  98.    // $FF: synthetic method
  99.    static Class class$(String var0) {
  100.       try {
  101.          return Class.forName(var0);
  102.       } catch (ClassNotFoundException var2) {
  103.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  104.       }
  105.    }
  106. }
  107.