org.apache.commons.beanutils
abstract class JDBCDynaClass extends java.lang.Object implements DynaClass, java.io.Serializable
Provides common logic for JDBC implementations of DynaClass
.
Modifier and Type | Field and Description |
---|---|
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 java.util.Map |
propertiesMap
The set of dynamic properties that are part of this
DynaClass , keyed by the property name. |
Constructor and Description |
---|
JDBCDynaClass() |
Modifier and Type | Method and Description |
---|---|
protected DynaProperty |
createDynaProperty(java.sql.ResultSetMetaData metadata,
int i)
Factory method to create a new DynaProperty for the given index
into the result set metadata.
|
DynaProperty[] |
getDynaProperties()
Return an array of
ProperyDescriptors for the properties
currently defined in this DynaClass. |
DynaProperty |
getDynaProperty(java.lang.String name)
Return a property descriptor for the specified property, if it
exists; otherwise, return
null . |
java.lang.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 void |
introspect(java.sql.ResultSet resultSet)
Introspect the metadata associated with our result set, and populate
the
properties and propertiesMap instance
variables. |
protected java.lang.Class |
loadClass(java.lang.String className)
Loads and returns the
Class of the given name. |
DynaBean |
newInstance()
Instantiate and return a new DynaBean instance, associated
with this DynaClass.
|
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 java.util.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.
public java.lang.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.
public DynaProperty getDynaProperty(java.lang.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 requestedjava.lang.IllegalArgumentException
- if no property name is specifiedpublic 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
public DynaBean newInstance() throws java.lang.IllegalAccessException, java.lang.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
java.lang.IllegalAccessException
- if the Class or the appropriate
constructor is not accessiblejava.lang.InstantiationException
- if this Class represents an abstract
class, an array class, a primitive type, or void; or if instantiation
fails for some other reasonprotected java.lang.Class loadClass(java.lang.String className) throws java.sql.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.
java.sql.SQLException
- if an exception was thrown trying to load
the specified classprotected DynaProperty createDynaProperty(java.sql.ResultSetMetaData metadata, int i) throws java.sql.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 metadatajava.sql.SQLException
protected void introspect(java.sql.ResultSet resultSet) throws java.sql.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 introspectedjava.sql.SQLException
- if an error is encountered processing the
result set metadataCopyright (c) 2001-2004 - Apache Software Foundation