org.springframework.beans
Interface PropertyEditorRegistry

All Known Subinterfaces:
BeanWrapper, ConfigurablePropertyAccessor
All Known Implementing Classes:
AbstractPropertyAccessor, BeanWrapperImpl, DataBinder, DirectFieldAccessor, ExtendedServletRequestDataBinder, PortletRequestDataBinder, PropertyEditorRegistrySupport, ServletRequestDataBinder, SimpleTypeConverter, WebDataBinder, WebRequestDataBinder

public interface PropertyEditorRegistry

Encapsulates methods for registering JavaBeans PropertyEditors. This is the central interface that a PropertyEditorRegistrar operates on.

Extended by BeanWrapper; implemented by BeanWrapperImpl and DataBinder.

Since:
1.2.6
Author:
Juergen Hoeller
See Also:
PropertyEditor, PropertyEditorRegistrar, BeanWrapper, DataBinder

Method Summary
 java.beans.PropertyEditor findCustomEditor(java.lang.Class<?> requiredType, java.lang.String propertyPath)
          Find a custom property editor for the given type and property.
 void registerCustomEditor(java.lang.Class<?> requiredType, java.beans.PropertyEditor propertyEditor)
          Register the given custom property editor for all properties of the given type.
 void registerCustomEditor(java.lang.Class<?> requiredType, java.lang.String propertyPath, java.beans.PropertyEditor propertyEditor)
          Register the given custom property editor for the given type and property, or for all properties of the given type.
 

Method Detail

registerCustomEditor

void registerCustomEditor(java.lang.Class<?> requiredType,
                          java.beans.PropertyEditor propertyEditor)
Register the given custom property editor for all properties of the given type.

Parameters:
requiredType - the type of the property
propertyEditor - the editor to register

registerCustomEditor

void registerCustomEditor(java.lang.Class<?> requiredType,
                          java.lang.String propertyPath,
                          java.beans.PropertyEditor propertyEditor)
Register the given custom property editor for the given type and property, or for all properties of the given type.

If the property path denotes an array or Collection property, the editor will get applied either to the array/Collection itself (the PropertyEditor has to create an array or Collection value) or to each element (the PropertyEditor has to create the element type), depending on the specified required type.

Note: Only one single registered custom editor per property path is supported. In the case of a Collection/array, do not register an editor for both the Collection/array and each element on the same property.

For example, if you wanted to register an editor for "items[n].quantity" (for all values n), you would use "items.quantity" as the value of the 'propertyPath' argument to this method.

Parameters:
requiredType - the type of the property. This may be null if a property is given but should be specified in any case, in particular in case of a Collection - making clear whether the editor is supposed to apply to the entire Collection itself or to each of its entries. So as a general rule: Do not specify null here in case of a Collection/array!
propertyPath - the path of the property (name or nested path), or null if registering an editor for all properties of the given type
propertyEditor - editor to register

findCustomEditor

java.beans.PropertyEditor findCustomEditor(java.lang.Class<?> requiredType,
                                           java.lang.String propertyPath)
Find a custom property editor for the given type and property.

Parameters:
requiredType - the type of the property (can be null if a property is given but should be specified in any case for consistency checking)
propertyPath - the path of the property (name or nested path), or null if looking for an editor for all properties of the given type
Returns:
the registered editor, or null if none