| |
|
| java.lang.Object org.apache.commons.dbutils.BeanProcessor
BeanProcessor | public class BeanProcessor (Code) | |
BeanProcessor matches column names to bean property names
and converts ResultSet columns into objects for those bean
properties. Subclasses should override the methods in the processing chain
to customize behavior.
This class is thread-safe.
See Also: BasicRowProcessor since: DbUtils 1.1 |
Field Summary | |
final protected static int | PROPERTY_NOT_FOUND Special array value used by mapColumnsToProperties that
indicates there is no bean property that matches a column from a
ResultSet . |
Constructor Summary | |
public | BeanProcessor() Constructor for BeanProcessor. |
PROPERTY_NOT_FOUND | final protected static int PROPERTY_NOT_FOUND(Code) | | Special array value used by mapColumnsToProperties that
indicates there is no bean property that matches a column from a
ResultSet .
|
BeanProcessor | public BeanProcessor()(Code) | | Constructor for BeanProcessor.
|
mapColumnsToProperties | protected int[] mapColumnsToProperties(ResultSetMetaData rsmd, PropertyDescriptor[] props) throws SQLException(Code) | | The positions in the returned array represent column numbers. The
values stored at each position represent the index in the
PropertyDescriptor[] for the bean property that matches
the column name. If no bean property was found for a column, the
position is set to PROPERTY_NOT_FOUND .
Parameters: rsmd - The ResultSetMetaData containing column information. Parameters: props - The bean property descriptors. throws: SQLException - if a database access error occurs An int[] with column index to property index mappings. The 0th element is meaningless because JDBC column indexing starts at 1. |
newInstance | protected Object newInstance(Class c) throws SQLException(Code) | | Factory method that returns a new instance of the given Class. This
is called at the start of the bean creation process and may be
overridden to provide custom behavior like returning a cached bean
instance.
Parameters: c - The Class to create an object from. A newly created object of the Class. throws: SQLException - if creation failed. |
processColumn | protected Object processColumn(ResultSet rs, int index, Class propType) throws SQLException(Code) | | Convert a ResultSet column into an object. Simple
implementations could just call rs.getObject(index) while
more complex implementations could perform type manipulation to match
the column's type to the bean property type.
This implementation calls the appropriate ResultSet getter
method for the given property type to perform the type conversion. If
the property type doesn't match one of the supported
ResultSet types, getObject is called.
Parameters: rs - The ResultSet currently being processed. It ispositioned on a valid row before being passed into this method. Parameters: index - The current column index being processed. Parameters: propType - The bean property type that this column needs to beconverted into. throws: SQLException - if a database access error occurs The object from the ResultSet at the given columnindex after optional type processing or null if the columnvalue was SQL NULL. |
toBean | public Object toBean(ResultSet rs, Class type) throws SQLException(Code) | | Convert a ResultSet row into a JavaBean. This
implementation uses reflection and BeanInfo classes to
match column names to bean property names. Properties are matched to
columns based on several factors:
-
The class has a writable property with the same name as a column.
The name comparison is case insensitive.
-
The column type can be converted to the property's set method
parameter type with a ResultSet.get* method. If the conversion fails
(ie. the property was an int and the column was a Timestamp) an
SQLException is thrown.
Primitive bean properties are set to their defaults when SQL NULL is
returned from the ResultSet . Numeric fields are set to 0
and booleans are set to false. Object bean properties are set to
null when SQL NULL is returned. This is the same behavior
as the ResultSet get* methods.
Parameters: rs - ResultSet that supplies the bean data Parameters: type - Class from which to create the bean instance throws: SQLException - if a database access error occurs the newly created bean |
toBeanList | public List toBeanList(ResultSet rs, Class type) throws SQLException(Code) | | Convert a ResultSet into a List of JavaBeans.
This implementation uses reflection and BeanInfo classes to
match column names to bean property names. Properties are matched to
columns based on several factors:
-
The class has a writable property with the same name as a column.
The name comparison is case insensitive.
-
The column type can be converted to the property's set method
parameter type with a ResultSet.get* method. If the conversion fails
(ie. the property was an int and the column was a Timestamp) an
SQLException is thrown.
Primitive bean properties are set to their defaults when SQL NULL is
returned from the ResultSet . Numeric fields are set to 0
and booleans are set to false. Object bean properties are set to
null when SQL NULL is returned. This is the same behavior
as the ResultSet get* methods.
Parameters: rs - ResultSet that supplies the bean data Parameters: type - Class from which to create the bean instance throws: SQLException - if a database access error occurs the newly created List of beans |
|
|
|