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 / java / beans / PropertyEditorManager.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.7 KB  |  105 lines

  1. package java.beans;
  2.  
  3. import java.util.Hashtable;
  4.  
  5. public class PropertyEditorManager {
  6.    private static String[] searchPath = new String[]{"sun.beans.editors"};
  7.    private static Hashtable registry;
  8.  
  9.    public static void registerEditor(Class var0, Class var1) {
  10.       SecurityManager var2 = System.getSecurityManager();
  11.       if (var2 != null) {
  12.          var2.checkPropertiesAccess();
  13.       }
  14.  
  15.       initialize();
  16.       if (var1 == null) {
  17.          registry.remove(var0);
  18.       } else {
  19.          registry.put(var0, var1);
  20.       }
  21.  
  22.    }
  23.  
  24.    public static synchronized PropertyEditor findEditor(Class var0) {
  25.       initialize();
  26.       Class var1 = (Class)registry.get(var0);
  27.       if (var1 != null) {
  28.          try {
  29.             Object var10 = var1.newInstance();
  30.             return (PropertyEditor)var10;
  31.          } catch (Exception var8) {
  32.             System.err.println("Couldn't instantiate type editor \"" + var1.getName() + "\" : " + var8);
  33.          }
  34.       }
  35.  
  36.       String var2 = var0.getName() + "Editor";
  37.  
  38.       try {
  39.          return (PropertyEditor)Introspector.instantiate(var0, var2);
  40.       } catch (Exception var7) {
  41.          for(var2 = var0.getName(); var2.indexOf(46) > 0; var2 = var2.substring(var2.indexOf(46) + 1)) {
  42.          }
  43.  
  44.          for(int var3 = 0; var3 < searchPath.length; ++var3) {
  45.             String var4 = searchPath[var3] + "." + var2 + "Editor";
  46.  
  47.             try {
  48.                return (PropertyEditor)Introspector.instantiate(var0, var4);
  49.             }
  50.          }
  51.  
  52.          return null;
  53.       }
  54.    }
  55.  
  56.    public static synchronized String[] getEditorSearchPath() {
  57.       String[] var0 = new String[searchPath.length];
  58.  
  59.       for(int var1 = 0; var1 < searchPath.length; ++var1) {
  60.          var0[var1] = searchPath[var1];
  61.       }
  62.  
  63.       return var0;
  64.    }
  65.  
  66.    public static synchronized void setEditorSearchPath(String[] var0) {
  67.       SecurityManager var1 = System.getSecurityManager();
  68.       if (var1 != null) {
  69.          var1.checkPropertiesAccess();
  70.       }
  71.  
  72.       if (var0 == null) {
  73.          var0 = new String[0];
  74.       }
  75.  
  76.       searchPath = var0;
  77.    }
  78.  
  79.    private static synchronized void load(Class var0, String var1) {
  80.       for(int var3 = 0; var3 < searchPath.length; ++var3) {
  81.          try {
  82.             String var2 = searchPath[var3] + "." + var1;
  83.             Class var4 = Class.forName(var2);
  84.             registry.put(var0, var4);
  85.             return;
  86.          }
  87.       }
  88.  
  89.       System.err.println("load of " + var1 + " failed");
  90.    }
  91.  
  92.    private static synchronized void initialize() {
  93.       if (registry == null) {
  94.          registry = new Hashtable();
  95.          load(Byte.TYPE, "ByteEditor");
  96.          load(Short.TYPE, "ShortEditor");
  97.          load(Integer.TYPE, "IntEditor");
  98.          load(Long.TYPE, "LongEditor");
  99.          load(Boolean.TYPE, "BoolEditor");
  100.          load(Float.TYPE, "FloatEditor");
  101.          load(Double.TYPE, "DoubleEditor");
  102.       }
  103.    }
  104. }
  105.