org.jboss.util.propertyeditor
Class PropertyEditors

java.lang.Object
  extended byorg.jboss.util.propertyeditor.PropertyEditors

public class PropertyEditors
extends java.lang.Object

A collection of PropertyEditor utilities. Provides the same interface as PropertyManagerEditor plus more...

Installs the default PropertyEditors.


Constructor Summary
PropertyEditors()
           
 
Method Summary
static java.lang.Object convertValue(java.lang.String text, java.lang.String typeName)
          Convert a string value into the true value for typeName using the PropertyEditor associated with typeName.
static java.beans.PropertyEditor findEditor(java.lang.Class type)
          Locate a value editor for a given target type.
static java.beans.PropertyEditor findEditor(java.lang.String typeName)
          Locate a value editor for a given target type.
static java.beans.PropertyEditor getEditor(java.lang.Class type)
          Get a value editor for a given target type.
static java.beans.PropertyEditor getEditor(java.lang.String typeName)
          Get a value editor for a given target type.
 java.lang.String[] getEditorSearchPath()
          Gets the package names that will be searched for property editors.
static void mapJavaBeanProperties(java.lang.Object bean, java.util.Properties beanProps)
          This method takes the properties found in the given beanProps to the bean using the property editor registered for the property.
static void mapJavaBeanProperties(java.lang.Object bean, java.util.Properties beanProps, boolean isStrict)
          This method takes the properties found in the given beanProps to the bean using the property editor registered for the property.
static void registerEditor(java.lang.Class type, java.lang.Class editorType)
          Register an editor class to be used to editor values of a given target class.
static void registerEditor(java.lang.String typeName, java.lang.String editorTypeName)
          Register an editor class to be used to editor values of a given target class.
 void setEditorSearchPath(java.lang.String[] path)
          Sets the package names that will be searched for property editors.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyEditors

public PropertyEditors()
Method Detail

findEditor

public static java.beans.PropertyEditor findEditor(java.lang.Class type)
Locate a value editor for a given target type.

Parameters:
type - The class of the object to be edited.
Returns:
An editor for the given type or null if none was found.

findEditor

public static java.beans.PropertyEditor findEditor(java.lang.String typeName)
                                            throws java.lang.ClassNotFoundException
Locate a value editor for a given target type.

Parameters:
typeName - The class name of the object to be edited.
Returns:
An editor for the given type or null if none was found.
Throws:
java.lang.ClassNotFoundException

getEditor

public static java.beans.PropertyEditor getEditor(java.lang.Class type)
Get a value editor for a given target type.

Parameters:
type - The class of the object to be edited.
Returns:
An editor for the given type.
Throws:
java.lang.RuntimeException - No editor was found.

getEditor

public static java.beans.PropertyEditor getEditor(java.lang.String typeName)
                                           throws java.lang.ClassNotFoundException
Get a value editor for a given target type.

Parameters:
typeName - The class name of the object to be edited.
Returns:
An editor for the given type.
Throws:
java.lang.RuntimeException - No editor was found.
java.lang.ClassNotFoundException

registerEditor

public static void registerEditor(java.lang.Class type,
                                  java.lang.Class editorType)
Register an editor class to be used to editor values of a given target class.

Parameters:
type - The class of the objetcs to be edited.
editorType - The class of the editor.

registerEditor

public static void registerEditor(java.lang.String typeName,
                                  java.lang.String editorTypeName)
                           throws java.lang.ClassNotFoundException
Register an editor class to be used to editor values of a given target class.

Parameters:
typeName - The classname of the objetcs to be edited.
editorTypeName - The class of the editor.
Throws:
java.lang.ClassNotFoundException

convertValue

public static java.lang.Object convertValue(java.lang.String text,
                                            java.lang.String typeName)
                                     throws java.lang.ClassNotFoundException,
                                            java.beans.IntrospectionException
Convert a string value into the true value for typeName using the PropertyEditor associated with typeName.

Parameters:
text - the string represention of the value. This is passed to the PropertyEditor.setAsText method.
typeName - the fully qualified class name of the true value type
Returns:
the PropertyEditor.getValue() result
Throws:
java.lang.ClassNotFoundException - thrown if the typeName class cannot be found
java.beans.IntrospectionException - thrown if a PropertyEditor for typeName cannot be found

mapJavaBeanProperties

public static void mapJavaBeanProperties(java.lang.Object bean,
                                         java.util.Properties beanProps)
                                  throws java.beans.IntrospectionException
This method takes the properties found in the given beanProps to the bean using the property editor registered for the property. Any property in beanProps that does not have an associated java bean property will result in an IntrospectionException. The string property values are converted to the true java bean property type using the java bean PropertyEditor framework. If a property in beanProps does not have a PropertyEditor registered it will be ignored.

Parameters:
bean - - the java bean instance to apply the properties to
beanProps - - map of java bean property name to property value.
Throws:
java.beans.IntrospectionException - thrown on introspection of bean and if a property in beanProps does not map to a property of bean.

mapJavaBeanProperties

public static void mapJavaBeanProperties(java.lang.Object bean,
                                         java.util.Properties beanProps,
                                         boolean isStrict)
                                  throws java.beans.IntrospectionException
This method takes the properties found in the given beanProps to the bean using the property editor registered for the property. Any property in beanProps that does not have an associated java bean property will result in an IntrospectionException. The string property values are converted to the true java bean property type using the java bean PropertyEditor framework. If a property in beanProps does not have a PropertyEditor registered it will be ignored.

Parameters:
bean - - the java bean instance to apply the properties to
beanProps - - map of java bean property name to property value.
isStrict - - indicates if should throw exception if bean property can not be matched. True for yes, false for no.
Throws:
java.beans.IntrospectionException - thrown on introspection of bean and if a property in beanProps does not map to a property of bean.

getEditorSearchPath

public java.lang.String[] getEditorSearchPath()
Gets the package names that will be searched for property editors.

Returns:
The package names that will be searched for property editors.

setEditorSearchPath

public void setEditorSearchPath(java.lang.String[] path)
Sets the package names that will be searched for property editors.

Parameters:
path - The serach path.