Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore.
       * gnu/classpath/jdwp/VMFrame.java (SIZE): New constant.
       * java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5.
       * java/lang/Math.java: New override file.
       * java/lang/Character.java: Merged from Classpath.
       (start, end): Now 'int's.
       (canonicalName): New field.
       (CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants.
       (UnicodeBlock): Added argument.
       (of): New overload.
       (forName): New method.
       Updated unicode blocks.
       (sets): Updated.
       * sources.am: Regenerated.
       * Makefile.in: Likewise.

From-SVN: r111942
This commit is contained in:
Mark Wielaard 2006-03-10 21:46:48 +00:00
parent 27079765d0
commit 8aa540d2f7
1367 changed files with 188789 additions and 22762 deletions

View file

@ -37,6 +37,8 @@ exception statement from your version. */
package java.beans;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
@ -344,6 +346,71 @@ public class PropertyDescriptor extends FeatureDescriptor
this.propertyEditorClass = propertyEditorClass;
}
/**
* Instantiate a property editor using the property editor class.
* If no property editor class has been set, this will return null.
* If the editor class has a public constructor which takes a single
* argument, that will be used and the bean parameter will be passed
* to it. Otherwise, a public no-argument constructor will be used,
* if available. This method will return null if no constructor is
* found or if construction fails for any reason.
* @param bean the argument to the constructor
* @return a new PropertyEditor, or null on error
* @since 1.5
*/
public PropertyEditor createPropertyEditor(Object bean)
{
if (propertyEditorClass == null)
return null;
Constructor c = findConstructor(propertyEditorClass,
new Class[] { Object.class });
if (c != null)
return instantiateClass(c, new Object[] { bean });
c = findConstructor(propertyEditorClass, null);
if (c != null)
return instantiateClass(c, null);
return null;
}
// Helper method to look up a constructor and return null if it is not
// found.
private Constructor findConstructor(Class k, Class[] argTypes)
{
try
{
return k.getConstructor(argTypes);
}
catch (NoSuchMethodException _)
{
return null;
}
}
// Helper method to instantiate an object but return null on error.
private PropertyEditor instantiateClass(Constructor c, Object[] args)
{
try
{
return (PropertyEditor) c.newInstance(args);
}
catch (InstantiationException _)
{
return null;
}
catch (InvocationTargetException _)
{
return null;
}
catch (IllegalAccessException _)
{
return null;
}
catch (ClassCastException _)
{
return null;
}
}
private void findMethods(
Class beanClass,
String getMethodName1,