diff options
Diffstat (limited to 'libjava/java/beans/PropertyEditorManager.java')
-rw-r--r-- | libjava/java/beans/PropertyEditorManager.java | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/libjava/java/beans/PropertyEditorManager.java b/libjava/java/beans/PropertyEditorManager.java deleted file mode 100644 index b64b2a83b7c..00000000000 --- a/libjava/java/beans/PropertyEditorManager.java +++ /dev/null @@ -1,150 +0,0 @@ -/* java.beans.PropertyEditorManager - Copyright (C) 1998 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -02111-1307 USA. - -As a special exception, if you link this library with other files to -produce an executable, this library does not by itself cause the -resulting executable to be covered by the GNU General Public License. -This exception does not however invalidate any other reasons why the -executable file might be covered by the GNU General Public License. */ - - -package java.beans; - -import gnu.java.lang.ClassHelper; - -/** - ** PropertyEditorManager is used to find property editors - ** for various types (not necessarily Beans).<P> - ** - ** It first checks to see if the property editor is - ** already registered; if it is, that property editor is - ** used. Next it takes the type's classname and appends - ** "Editor" to it, and searches first in the class's - ** package and then in the property editor search path.<P> - ** - ** Default property editors are provided for:<P> - ** <OL> - ** <LI>boolean, byte, short, int, long, float, and double</LI> - ** <LI>java.lang.String</LI> - ** <LI>java.awt.Color</LI> - ** <LI>java.awt.Font</LI> - ** <OL> - ** - ** <STRONG>Spec Suggestion:</STRONG> Perhaps an editor for - ** Filename or something like it should be provided. As well - ** as char. - ** - ** @author John Keiser - ** @since JDK1.1 - ** @version 1.1.0, 29 Jul 1998 - **/ - -public class PropertyEditorManager { - static java.util.Hashtable editors = new java.util.Hashtable(); - static String[] editorSearchPath = {"gnu.java.beans.editors","sun.beans.editors"}; - - static { - registerEditor(java.lang.Boolean.TYPE, gnu.java.beans.editors.NativeBooleanEditor.class); - registerEditor(java.lang.Byte.TYPE, gnu.java.beans.editors.NativeByteEditor.class); - registerEditor(java.lang.Short.TYPE, gnu.java.beans.editors.NativeShortEditor.class); - registerEditor(java.lang.Integer.TYPE, gnu.java.beans.editors.NativeIntEditor.class); - registerEditor(java.lang.Long.TYPE, gnu.java.beans.editors.NativeLongEditor.class); - registerEditor(java.lang.Float.TYPE, gnu.java.beans.editors.NativeFloatEditor.class); - registerEditor(java.lang.Double.TYPE, gnu.java.beans.editors.NativeDoubleEditor.class); - registerEditor(java.lang.String.class, gnu.java.beans.editors.StringEditor.class); - registerEditor(java.awt.Color.class, gnu.java.beans.editors.ColorEditor.class); - registerEditor(java.awt.Font.class, gnu.java.beans.editors.FontEditor.class); - } - - /** Beats me why this class can be instantiated, but there - ** you have it. - **/ - public PropertyEditorManager() { } - - /** Register an editor for a class. Replaces old editor - ** if there was one registered before. - ** @param editedClass the class that the property editor - ** will edit. - ** @param editorClass the PropertyEditor class. - **/ - public static void registerEditor(Class editedClass, Class editorClass) { - editors.put(editedClass, editorClass); - } - - /** Returns a new instance of the property editor for the - ** specified class. - ** @param editedClass the class that the property editor - ** will edit. - ** @return a PropertyEditor instance that can edit the - ** specified class. - **/ - public static PropertyEditor findEditor(Class editedClass) { - try { - - Class found = (Class)editors.get(editedClass); - if(found != null) { - return (PropertyEditor)found.newInstance(); - } - - try { - found = Class.forName(editedClass.getName()+"Editor"); - registerEditor(editedClass,found); - return (PropertyEditor)found.newInstance(); - } catch(ClassNotFoundException E) { - } - - String appendName = "." + ClassHelper.getTruncatedClassName(editedClass) + "Editor"; - synchronized(editorSearchPath) { - for(int i=0;i<editorSearchPath.length;i++) { - try { - found = Class.forName(editorSearchPath[i] + appendName); - registerEditor(editedClass,found); - return (PropertyEditor)found.newInstance(); - } catch(ClassNotFoundException E) { - } - } - } - - } catch(InstantiationException E) { - } catch(IllegalAccessException E) { - } - return null; - } - - /** Get the editor search path. - ** As a minor departure from the spec, the default value - ** for the editor search path is "gnu.java.beans.editors", - ** "sun.beans.editors". - ** @return the editor search path. - **/ - public static String[] getEditorSearchPath() { - return editorSearchPath; - } - - /** Set the editor search path. - ** @param editorSearchPath the new value for the editor - ** search path. - **/ - public static void setEditorSearchPath(String[] editorSearchPath) { - synchronized(editorSearchPath) { - PropertyEditorManager.editorSearchPath = editorSearchPath; - } - } -} |