org.apache.commons.beanutils
Class JDBCDynaClass
java.lang.Object
org.apache.commons.beanutils.JDBCDynaClass
- DynaClass, Serializable
(package private) abstract class JDBCDynaClass
extends java.lang.Object
Provides common logic for JDBC implementations of
DynaClass
.
$Revision: 557031 $ $Date: 2007-07-17 20:12:54 +0100 (Tue, 17 Jul 2007) $- Craig R. McClanahan
- George Franciscus
private Map | columnNameXref - Cross Reference for column name --> dyna property name
(needed when lowerCase option is true)
|
protected boolean | lowerCase - Flag defining whether column names should be lower cased when
converted to property names.
|
protected DynaProperty[] | properties - The set of dynamic properties that are part of this
DynaClass .
|
protected Map | propertiesMap - The set of dynamic properties that are part of this
DynaClass , keyed by the property name.
|
protected DynaProperty | createDynaProperty(ResultSetMetaData metadata, int i) - Factory method to create a new DynaProperty for the given index
into the result set metadata.
|
protected String | getColumnName(String name) - Get the table column name for the specified property name.
|
DynaProperty[] | getDynaProperties() - Return an array of
ProperyDescriptors for the properties
currently defined in this DynaClass.
|
DynaProperty | getDynaProperty(String name) - Return a property descriptor for the specified property, if it
exists; otherwise, return
null .
|
String | getName() - Return the name of this DynaClass (analogous to the
getName() method of java.lang.Class DynaClass implementation class to support
different dynamic classes, with different sets of properties.
|
protected Object | getObject(ResultSet resultSet, String name) - Get a column value from a
ResultSet for the specified name.
|
protected void | introspect(ResultSet resultSet) - Introspect the metadata associated with our result set, and populate
the
properties and propertiesMap instance
variables.
|
protected Class | loadClass(String className) - Loads and returns the
Class of the given name.
|
DynaBean | newInstance() - Instantiate and return a new DynaBean instance, associated
with this DynaClass.
|
columnNameXref
private Map columnNameXref
Cross Reference for column name --> dyna property name
(needed when lowerCase option is true)
lowerCase
protected boolean lowerCase
Flag defining whether column names should be lower cased when
converted to property names.
properties
protected DynaProperty[] properties
The set of dynamic properties that are part of this
DynaClass
.
propertiesMap
protected Map propertiesMap
The set of dynamic properties that are part of this
DynaClass
, keyed by the property name. Individual descriptor
instances will be the same instances as those in the
properties
list.
createDynaProperty
protected DynaProperty createDynaProperty(ResultSetMetaData metadata,
int i)
throws SQLException
Factory method to create a new DynaProperty for the given index
into the result set metadata.
metadata
- is the result set metadatai
- is the column index in the metadata
- the newly created DynaProperty instance
getColumnName
protected String getColumnName(String name)
Get the table column name for the specified property name.
- The column name (which can be different if the lowerCase
option is used).
getDynaProperties
public DynaProperty[] getDynaProperties()
Return an array of ProperyDescriptors
for the properties
currently defined in this DynaClass. If no properties are defined, a
zero-length array will be returned.
- getDynaProperties in interface DynaClass
getDynaProperty
public DynaProperty getDynaProperty(String name)
Return a property descriptor for the specified property, if it
exists; otherwise, return null
.
- getDynaProperty in interface DynaClass
name
- Name of the dynamic property for which a descriptor
is requested
getName
public String getName()
Return the name of this DynaClass (analogous to the
getName()
method of java.lang.Class
DynaClass
implementation class to support
different dynamic classes, with different sets of properties.
- getName in interface DynaClass
getObject
protected Object getObject(ResultSet resultSet,
String name)
throws SQLException
Get a column value from a ResultSet
for the specified name.
resultSet
- The result setname
- The property name
introspect
protected void introspect(ResultSet resultSet)
throws SQLException
Introspect the metadata associated with our result set, and populate
the properties
and propertiesMap
instance
variables.
resultSet
- The resultSet
whose metadata is to
be introspected
loadClass
protected Class loadClass(String className)
throws SQLException
Loads and returns the Class
of the given name.
By default, a load from the thread context class loader is attempted.
If there is no such class loader, the class loader used to load this
class will be utilized.
className
- The name of the class to load
newInstance
public DynaBean newInstance()
throws IllegalAccessException,
InstantiationException
Instantiate and return a new DynaBean instance, associated
with this DynaClass. NOTE - This operation is not
supported, and throws an exception.
- newInstance in interface DynaClass
Copyright (c) 2001-2007 - Apache Software Foundation